[Intel-gfx] [RFC 33/60] drm/i915/lmem: support pwrite

Dave Airlie airlied at gmail.com
Sun Aug 9 21:06:28 UTC 2020


On Fri, 7 Aug 2020 at 19:46, Joonas Lahtinen
<joonas.lahtinen at linux.intel.com> wrote:
>
> Quoting Dave Airlie (2020-07-13 08:09:30)
> > On Fri, 10 Jul 2020 at 22:00, Matthew Auld <matthew.auld at intel.com> wrote:
> > >
> > > We need to add support for pwrite'ing an LMEM object.
> >
> > why? DG1 is a discrete GPU, these interfaces we already gross and
> > overly hacky for integrated, I'd prefer not to drag them across into
> > discrete land.
> >
> > same goes for pread.
> >
> > You have no legacy userspace here, userspace needs change to support
> > LMEM, it can be fixed to avoid legacy ioctls paths.
>
> (This answer is really along the same lines as related to the
> relocations, which I sent earlier in the end of this thread)
>
> PREAD/PWRITE are used by IGT tests indirectly in the testing, as
> a means to validate test end results as an example. So IGT
> reworking is needed not to lose testing coverage when the
> functionality is disabled.
>
> Same reasoning as with relocations, as to why this is included
> in the RFC; it will get a functional stack with least changes and
> is virtually no extra effort to carry. It's recognized that once
> pre-Gen12 hardware ceases to exist, there are optimization
> opportunities.

Why do you have to wait until pre-GEN12 hw ceases to exist?

There are clear optimization opportunities since Broadwell, there have
been clear pointless optimisations done to the kernel because
userspace was stuck to the legacy paths way past when it made sense.

I'm pretty sure the media driver is broadwell+ in terms of hw support,
but it's all relocation heavy, like why isn't that the priority of the
kernel team to just go fix it rather than make the kernel long term
harder to maintain. Siloed development is an artifact of *your*
orgchart, and shouldn't leak into the upstream kernel development if
not required.

Would IGT ever have been fixed up? it's test code, it should have been
roadmap and resourced to fix up instead of writing kernel code for
platforms that don't require it. You can valdiate IGT on the older
hardware anyways.

If you need test interfaces in the kernel, please put them under
BROKEN or somewhere that only CI finds them, until you can rework CI
tests, but we need to be a bit more stringent on carrying forward
interfaces that aren't needed by modern HW, or else you will never get
to pre-GEN12 disappearing, like in reality it should in a lot of cases
be pre-GEN8.

Dave.


More information about the Intel-gfx mailing list