Re: [PATCH 2/2] drm/i915/gen7: Clear all EU/L3 residual contexts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reducing audience as this series is of high interest externally.

I fully agree with Joonas' suggestion here, and we have been looking at doing just that. But can we iterate as a follow up patch series? Putting in the infra to support igt assembly from source will take a little time (igt assembler doesn't like the source right now, so it looks like it will need updating), and we are under pressure to get this security fix out.

Jon

> -----Original Message-----
> From: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
> Sent: Friday, January 31, 2020 1:52 AM
> To: Abodunrin, Akeem G <akeem.g.abodunrin@xxxxxxxxx>; Wilson, Chris P
> <chris.p.wilson@xxxxxxxxx>; Phillips, D Scott <d.scott.phillips@xxxxxxxxx>;
> Vetter, Daniel <daniel.vetter@xxxxxxxxx>; Stewart, David C
> <david.c.stewart@xxxxxxxxx>; dri-devel@xxxxxxxxxxxxxxxxxxxxx; Balestrieri,
> Francesco <francesco.balestrieri@xxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx;
> Nikula, Jani <jani.nikula@xxxxxxxxx>; Bloomfield, Jon
> <jon.bloomfield@xxxxxxxxx>; Kuoppala, Mika <mika.kuoppala@xxxxxxxxx>;
> Aran, Omer <omer.aran@xxxxxxxxx>; Pathi, Pragyansri
> <pragyansri.pathi@xxxxxxxxx>; Kumar Valsan, Prathap
> <prathap.kumar.valsan@xxxxxxxxx>; Dutt, Sudeep <sudeep.dutt@xxxxxxxxx>;
> Luck, Tony <tony.luck@xxxxxxxxx>
> Subject: Re: [PATCH 2/2] drm/i915/gen7: Clear all EU/L3 residual contexts
> 
> Quoting Akeem G Abodunrin (2020-01-30 18:57:21)
> > From: Prathap Kumar Valsan <prathap.kumar.valsan@xxxxxxxxx>
> >
> > On gen7 and gen7.5 devices, there could be leftover data residuals in
> > EU/L3 from the retiring context. This patch introduces workaround to clear
> > that residual contexts, by submitting a batch buffer with dedicated HW
> > context to the GPU with ring allocation for each context switching.
> >
> > This security mitigation change does not trigger any performance
> > regression. Performance is on par with current mainline/drm-tip.
> >
> > Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
> > Signed-off-by: Prathap Kumar Valsan <prathap.kumar.valsan@xxxxxxxxx>
> > Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx>
> > Cc: Chris Wilson <chris.p.wilson@xxxxxxxxx>
> > Cc: Balestrieri Francesco <francesco.balestrieri@xxxxxxxxx>
> > Cc: Bloomfield Jon <jon.bloomfield@xxxxxxxxx>
> > Cc: Dutt Sudeep <sudeep.dutt@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/Makefile                 |   1 +
> >  drivers/gpu/drm/i915/gt/gen7_renderclear.c    | 535 ++++++++++++++++++
> >  drivers/gpu/drm/i915/gt/gen7_renderclear.h    |  15 +
> >  drivers/gpu/drm/i915/gt/intel_gpu_commands.h  |  17 +-
> >  .../gpu/drm/i915/gt/intel_ring_submission.c   |   3 +-
> >  drivers/gpu/drm/i915/i915_utils.h             |   5 +
> >  6 files changed, 572 insertions(+), 4 deletions(-)
> >  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.c
> >  create mode 100644 drivers/gpu/drm/i915/gt/gen7_renderclear.h
> >
> > diff --git a/drivers/gpu/drm/i915/Makefile
> b/drivers/gpu/drm/i915/Makefile
> > index 3c88d7d8c764..f96bae664a03 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -78,6 +78,7 @@ gt-y += \
> >         gt/debugfs_gt.o \
> >         gt/debugfs_gt_pm.o \
> >         gt/gen6_ppgtt.o \
> > +       gt/gen7_renderclear.o \
> >         gt/gen8_ppgtt.o \
> >         gt/intel_breadcrumbs.o \
> >         gt/intel_context.o \
> > diff --git a/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> > new file mode 100644
> > index 000000000000..a6f5f1602e33
> > --- /dev/null
> > +++ b/drivers/gpu/drm/i915/gt/gen7_renderclear.c
> > @@ -0,0 +1,535 @@
> > +// SPDX-License-Identifier: MIT
> > +/*
> > + * Copyright © 2019 Intel Corporation
> > + */
> > +
> > +#include "gen7_renderclear.h"
> > +#include "i915_drv.h"
> > +#include "i915_utils.h"
> > +#include "intel_gpu_commands.h"
> > +
> > +#define MAX_URB_ENTRIES 64
> > +#define STATE_SIZE (4 * 1024)
> > +#define GT3_INLINE_DATA_DELAYS 0x1E00
> > +#define batch_advance(Y, CS) GEM_BUG_ON((Y)->end != (CS))
> > +
> > +/*
> > + * Media CB Kernel for gen7 devices
> > + * TODO: Add comments to kernel, indicating what each array of hex does
> or
> > + * include header file, which has assembly source and support in igt to be
> > + * able to generate kernel in this same format
> > + */
> 
> Having the original source code for the kernels in IGT is the
> best way to proceed. The kernels should also be split into
> separate files which can be generated from IGT and copied
> over as-is for easy verification.
> 
> Regards, Joonas
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux