Message ID | 20220222140422.1121163-8-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Per client GPU utilisation | expand |
On Tue, Feb 22, 2022 at 02:04:21PM +0000, Tvrtko Ursulin wrote: >From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > >This will be useful to have at hand in a following patch. > >Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >--- > drivers/gpu/drm/i915/gt/intel_engine_user.c | 11 ++++++----- > drivers/gpu/drm/i915/i915_drv.h | 1 + > 2 files changed, 7 insertions(+), 5 deletions(-) > >diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c b/drivers/gpu/drm/i915/gt/intel_engine_user.c >index 9ce85a845105..5dd559253078 100644 >--- a/drivers/gpu/drm/i915/gt/intel_engine_user.c >+++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c >@@ -190,7 +190,6 @@ static void add_legacy_ring(struct legacy_ring *ring, > void intel_engines_driver_register(struct drm_i915_private *i915) > { > struct legacy_ring ring = {}; >- u8 uabi_instances[4] = {}; > struct list_head *it, *next; > struct rb_node **p, *prev; > LIST_HEAD(engines); >@@ -211,8 +210,10 @@ void intel_engines_driver_register(struct drm_i915_private *i915) > GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes)); > engine->uabi_class = uabi_classes[engine->class]; > >- GEM_BUG_ON(engine->uabi_class >= ARRAY_SIZE(uabi_instances)); >- engine->uabi_instance = uabi_instances[engine->uabi_class]++; >+ GEM_BUG_ON(engine->uabi_class >= >+ ARRAY_SIZE(i915->engine_uabi_class_count)); >+ engine->uabi_instance = >+ i915->engine_uabi_class_count[engine->uabi_class]++; > > /* Replace the internal name with the final user facing name */ > memcpy(old, engine->name, sizeof(engine->name)); >@@ -242,8 +243,8 @@ void intel_engines_driver_register(struct drm_i915_private *i915) > int class, inst; > int errors = 0; > >- for (class = 0; class < ARRAY_SIZE(uabi_instances); class++) { >- for (inst = 0; inst < uabi_instances[class]; inst++) { >+ for (class = 0; class < ARRAY_SIZE(i915->engine_uabi_class_count); class++) { >+ for (inst = 0; inst < i915->engine_uabi_class_count[class]; inst++) { > engine = intel_engine_lookup_user(i915, > class, inst); > if (!engine) { >diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h >index b9d38276801d..68d8a751008b 100644 >--- a/drivers/gpu/drm/i915/i915_drv.h >+++ b/drivers/gpu/drm/i915/i915_drv.h >@@ -533,6 +533,7 @@ struct drm_i915_private { > struct pci_dev *bridge_dev; > > struct rb_root uabi_engines; >+ unsigned int engine_uabi_class_count[I915_LAST_UABI_ENGINE_CLASS + 1]; lgtm, Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Umesh > > struct resource mch_res; > >-- >2.32.0 >
On 01/03/2022 19:34, Umesh Nerlige Ramappa wrote: > On Tue, Feb 22, 2022 at 02:04:21PM +0000, Tvrtko Ursulin wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> This will be useful to have at hand in a following patch. >> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> --- >> drivers/gpu/drm/i915/gt/intel_engine_user.c | 11 ++++++----- >> drivers/gpu/drm/i915/i915_drv.h | 1 + >> 2 files changed, 7 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c >> b/drivers/gpu/drm/i915/gt/intel_engine_user.c >> index 9ce85a845105..5dd559253078 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_engine_user.c >> +++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c >> @@ -190,7 +190,6 @@ static void add_legacy_ring(struct legacy_ring *ring, >> void intel_engines_driver_register(struct drm_i915_private *i915) >> { >> struct legacy_ring ring = {}; >> - u8 uabi_instances[4] = {}; >> struct list_head *it, *next; >> struct rb_node **p, *prev; >> LIST_HEAD(engines); >> @@ -211,8 +210,10 @@ void intel_engines_driver_register(struct >> drm_i915_private *i915) >> GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes)); >> engine->uabi_class = uabi_classes[engine->class]; >> >> - GEM_BUG_ON(engine->uabi_class >= ARRAY_SIZE(uabi_instances)); >> - engine->uabi_instance = uabi_instances[engine->uabi_class]++; >> + GEM_BUG_ON(engine->uabi_class >= >> + ARRAY_SIZE(i915->engine_uabi_class_count)); >> + engine->uabi_instance = >> + i915->engine_uabi_class_count[engine->uabi_class]++; >> >> /* Replace the internal name with the final user facing name */ >> memcpy(old, engine->name, sizeof(engine->name)); >> @@ -242,8 +243,8 @@ void intel_engines_driver_register(struct >> drm_i915_private *i915) >> int class, inst; >> int errors = 0; >> >> - for (class = 0; class < ARRAY_SIZE(uabi_instances); class++) { >> - for (inst = 0; inst < uabi_instances[class]; inst++) { >> + for (class = 0; class < >> ARRAY_SIZE(i915->engine_uabi_class_count); class++) { >> + for (inst = 0; inst < >> i915->engine_uabi_class_count[class]; inst++) { >> engine = intel_engine_lookup_user(i915, >> class, inst); >> if (!engine) { >> diff --git a/drivers/gpu/drm/i915/i915_drv.h >> b/drivers/gpu/drm/i915/i915_drv.h >> index b9d38276801d..68d8a751008b 100644 >> --- a/drivers/gpu/drm/i915/i915_drv.h >> +++ b/drivers/gpu/drm/i915/i915_drv.h >> @@ -533,6 +533,7 @@ struct drm_i915_private { >> struct pci_dev *bridge_dev; >> >> struct rb_root uabi_engines; >> + unsigned int engine_uabi_class_count[I915_LAST_UABI_ENGINE_CLASS >> + 1]; > > lgtm, > Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Thanks Umesh - for the series or just this patch? I'd need to update your r-b's on patches 3, 6 and 8 to latest as well. Regards, Tvrtko
On Wed, Mar 02, 2022 at 09:03:18AM +0000, Tvrtko Ursulin wrote: > >On 01/03/2022 19:34, Umesh Nerlige Ramappa wrote: >>On Tue, Feb 22, 2022 at 02:04:21PM +0000, Tvrtko Ursulin wrote: >>>From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>> >>>This will be useful to have at hand in a following patch. >>> >>>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >>>--- >>>drivers/gpu/drm/i915/gt/intel_engine_user.c | 11 ++++++----- >>>drivers/gpu/drm/i915/i915_drv.h | 1 + >>>2 files changed, 7 insertions(+), 5 deletions(-) >>> >>>diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c >>>b/drivers/gpu/drm/i915/gt/intel_engine_user.c >>>index 9ce85a845105..5dd559253078 100644 >>>--- a/drivers/gpu/drm/i915/gt/intel_engine_user.c >>>+++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c >>>@@ -190,7 +190,6 @@ static void add_legacy_ring(struct legacy_ring *ring, >>>void intel_engines_driver_register(struct drm_i915_private *i915) >>>{ >>> struct legacy_ring ring = {}; >>>- u8 uabi_instances[4] = {}; >>> struct list_head *it, *next; >>> struct rb_node **p, *prev; >>> LIST_HEAD(engines); >>>@@ -211,8 +210,10 @@ void intel_engines_driver_register(struct >>>drm_i915_private *i915) >>> GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes)); >>> engine->uabi_class = uabi_classes[engine->class]; >>> >>>- GEM_BUG_ON(engine->uabi_class >= ARRAY_SIZE(uabi_instances)); >>>- engine->uabi_instance = uabi_instances[engine->uabi_class]++; >>>+ GEM_BUG_ON(engine->uabi_class >= >>>+ ARRAY_SIZE(i915->engine_uabi_class_count)); >>>+ engine->uabi_instance = >>>+ i915->engine_uabi_class_count[engine->uabi_class]++; >>> >>> /* Replace the internal name with the final user facing name */ >>> memcpy(old, engine->name, sizeof(engine->name)); >>>@@ -242,8 +243,8 @@ void intel_engines_driver_register(struct >>>drm_i915_private *i915) >>> int class, inst; >>> int errors = 0; >>> >>>- for (class = 0; class < ARRAY_SIZE(uabi_instances); class++) { >>>- for (inst = 0; inst < uabi_instances[class]; inst++) { >>>+ for (class = 0; class < >>>ARRAY_SIZE(i915->engine_uabi_class_count); class++) { >>>+ for (inst = 0; inst < >>>i915->engine_uabi_class_count[class]; inst++) { >>> engine = intel_engine_lookup_user(i915, >>> class, inst); >>> if (!engine) { >>>diff --git a/drivers/gpu/drm/i915/i915_drv.h >>>b/drivers/gpu/drm/i915/i915_drv.h >>>index b9d38276801d..68d8a751008b 100644 >>>--- a/drivers/gpu/drm/i915/i915_drv.h >>>+++ b/drivers/gpu/drm/i915/i915_drv.h >>>@@ -533,6 +533,7 @@ struct drm_i915_private { >>> struct pci_dev *bridge_dev; >>> >>> struct rb_root uabi_engines; >>>+ unsigned int >>>engine_uabi_class_count[I915_LAST_UABI_ENGINE_CLASS + 1]; >> >>lgtm, >>Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> > >Thanks Umesh - for the series or just this patch? I'd need to update >your r-b's on patches 3, 6 and 8 to latest as well. I checked out the diff between this series and the previous one. The changes look good. For the series: Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Thanks, Umesh > >Regards, > >Tvrtko
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_user.c b/drivers/gpu/drm/i915/gt/intel_engine_user.c index 9ce85a845105..5dd559253078 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_user.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_user.c @@ -190,7 +190,6 @@ static void add_legacy_ring(struct legacy_ring *ring, void intel_engines_driver_register(struct drm_i915_private *i915) { struct legacy_ring ring = {}; - u8 uabi_instances[4] = {}; struct list_head *it, *next; struct rb_node **p, *prev; LIST_HEAD(engines); @@ -211,8 +210,10 @@ void intel_engines_driver_register(struct drm_i915_private *i915) GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes)); engine->uabi_class = uabi_classes[engine->class]; - GEM_BUG_ON(engine->uabi_class >= ARRAY_SIZE(uabi_instances)); - engine->uabi_instance = uabi_instances[engine->uabi_class]++; + GEM_BUG_ON(engine->uabi_class >= + ARRAY_SIZE(i915->engine_uabi_class_count)); + engine->uabi_instance = + i915->engine_uabi_class_count[engine->uabi_class]++; /* Replace the internal name with the final user facing name */ memcpy(old, engine->name, sizeof(engine->name)); @@ -242,8 +243,8 @@ void intel_engines_driver_register(struct drm_i915_private *i915) int class, inst; int errors = 0; - for (class = 0; class < ARRAY_SIZE(uabi_instances); class++) { - for (inst = 0; inst < uabi_instances[class]; inst++) { + for (class = 0; class < ARRAY_SIZE(i915->engine_uabi_class_count); class++) { + for (inst = 0; inst < i915->engine_uabi_class_count[class]; inst++) { engine = intel_engine_lookup_user(i915, class, inst); if (!engine) { diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index b9d38276801d..68d8a751008b 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -533,6 +533,7 @@ struct drm_i915_private { struct pci_dev *bridge_dev; struct rb_root uabi_engines; + unsigned int engine_uabi_class_count[I915_LAST_UABI_ENGINE_CLASS + 1]; struct resource mch_res;