[PATCH v2 0/8] per-process address spaces for MMUv2
Guido Günther
agx at sigxcpu.org
Fri May 10 15:07:19 UTC 2019
Hi Lucas,
On Fri, May 03, 2019 at 01:10:26PM +0200, Guido Günther wrote:
> Hi Lucas,
> On Wed, Apr 17, 2019 at 03:50:15PM +0200, Lucas Stach wrote:
> >
> > Hi all,
> >
> > v1 cover letter:
> >
> > the following patches finally implement one of the longstanding TODO
> > items in the etnaviv driver: per-process address spaces. They are only
> > enabled for MMUv2, as switching the MMU context on MMUv1 would require
> > a full stop of the FE, which I deemed too expensive to do on potentially
> > every submitted commandstream.
> >
> > For now this only provides better isolation between GPU clients, but it
> > is also a big step in the direction of supporting softpin. Softpin will
> > later be used by GC7000 userspace drivers to deal with texture descriptors
> > without the need to add even more relocation interfaces to the etnaviv
> > UAPI.
> >
> > The changes are big and pretty disruptive, so I acknowledge that they
> > aren't prime targets for a quick review, but I would appreciate a
> > second pairs of eyes on them.
> >
> > Changes since v1:
> > - fixed an issue where a debugsfs read could run into a kernel NULL
> > ptr dereference due to no current MMU context
> > - fixed an issue where the current MMU context could be destroyed
> > due to the DRM client going away, while it is still in use by
> > an active GPU job
> > - more extensive testing on GC880, GC2000, GC3000 and GC7000
>
> I gave this series a test on GC7000 and it looks good. I'll do some more
> testing over the next week.
I gave this some more testing and it works nicely. One thing i noticed
though are occasional GPU hangs on compositor startup like:
[ 58.929906] etnaviv-gpu 38000000.gpu: MMU fault status 0x00000001
[ 58.936021] etnaviv-gpu 38000000.gpu: MMU 0 fault addr 0x00484b80
[ 59.972655] etnaviv-gpu 38000000.gpu: recover hung GPU!
but these only happen with GALLIUM_DDEBUG=always. I can't reproduce them
when either
- dropping this patch series
- disabling GALLIUM_DDEBUG
I see if I can figure out some more details.
Cheers,
-- Guido
More information about the etnaviv
mailing list