[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