[Intel-gfx] [PATCH 1/3] drm/i915/perf: break OA config buffer object in 2

Chris Wilson chris at chris-wilson.co.uk
Fri Mar 27 10:40:02 UTC 2020


Quoting Lionel Landwerlin (2020-03-27 10:32:07)
> We want to enable performance monitoring on multiple contexts to cover
> the Iris use case of using 2 GEM contexts (3D & compute).
> 
> So start by breaking the OA configuration BO which contains global &
> per context register writes.
> 
> NOA muxes & OA configurations are global, while FLEXEU register
> configurations are per context.
> 
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_perf.c | 194 ++++++++++++++++++++++---------
>  1 file changed, 137 insertions(+), 57 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 3222f6cd8255..f524f50abdef 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -376,7 +376,8 @@ struct i915_oa_config_bo {
>         struct llist_node node;
>  
>         struct i915_oa_config *oa_config;
> -       struct i915_vma *vma;
> +       struct i915_vma *ctx_vma;
> +       struct i915_vma *global_vma;

What's the allocation like? Worth packing into one vma and use an
offset?
-Chris


More information about the Intel-gfx mailing list