Question about lima kernel MM implementation
Qiang Yu
yuq825 at gmail.com
Thu Feb 15 02:50:56 UTC 2018
>
>
> >
> > My requirement:
> > 1. support non-contiguous memory allocation as GPU buffer
> > 2. support contiguous memory allocation too for exporting to some
> > display DRM driver as framebuffer
>
> btw, I think etnaviv deals w/ contiguous scanout buffer by just
> importing the scanout buffer from the other display drm driver. So I
> think you could avoid having to allocate these buffers.
>
> Right, after looking at the renderonly lib of imx+etnaviv, it create dumb
buffer at display DRM and export to etnaviv. With this method, seems
lima just need to support non-contiguous memory allocation.
Thanks,
Qiang
>
> > 3. no GPU page fault for better performance and avoid multi MMU
> > page fault handling, CPU page fault is OK
> > 4. better have buffer swap to disk feature when memory is full
> >
> > Current MM:
> > 1. drm_gem_cma_object, only support contiguous memory
> > 2. drm_gem_get_pages
> > 1) need to combine with cma method for contiguous memory
> > 2) when shrink is needed, swap some idle buffer to disk and put
> > pages, need implement by myself
> > 3) additional shmem layer introduced
> > 3. TTM TTM_PL_SYSTEM only
> > 1) no contiguous memory support
> > 2) too complicated as we don't need other functions of TTM
> > 3) need GPU page fault to populate memory?
> > 4) no page pool for cached memory
> >
> > My plan:
> > 1. for contiguous memory allocation use dma_alloc_*
> > 2. for non-contiguous memory allocation, use a page pool from
> > alloc_page
> > 3. buffer is not really allocated when GEM_CREATE, but in CPU
> > page fault handler and task submit buffer validation which make
> > sure no GPU page fault
> > 4. in shrinker handler, free un-used page in the pool, if still not
> > enough, swap some idle buffer to disk
> >
> > 3&4 apply to both dma_alloc buffer and alloc_page buffer.
> >
> > Thanks,
> > Qiang
> >
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180215/7ed7a4b6/attachment-0001.html>
More information about the dri-devel
mailing list