Am Mittwoch, den 18.01.2017, 12:25 +0100 schrieb Lucas Stach: > Hi all, > > the following patches introduce a cmduf suballocator in the Etnaviv > kernel driver, which has the following benefits: > > 1. Allocating and freeing a CMA buffer for each user command submission > is taking a big toll on the CPU, as CMA is not exactly low overhead. > By suballocating a single buffer we avoid all this overhead. > > 2. Less TLB flushes on MMUv2. Each time a new buffer gets mapped into > the GPU address space on MMUv2 the TLBs need to be flushed. Mapping > the suballocated area once allows to skip the TLB flushes (at least > as long as userspace re-uses existing buffers). > > 3. No workarounds for GC3000 required anymore. The FE TLB flush on > GC3000 doesn't work reliably, which required us to map the cmdbufs > into the GPU address space at specific positions, which also isn't > guaranteed to work if the address space is already crowded. Having > a single static area for the cmdbufs side-steps the erratum completely. > > If I can get reviews and/or enough testing, I would like to include this > code in kernel 4.11. If this helps in testing this change, I have pushed my queue out into my public git repo at: https://git.pengutronix.de/git/lst/linux drm-etnaviv-next The branch is based on v4.10-rc1, but is trivial to rebase onto something more recent. Regards, Lucas _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel