On Tue, Aug 6, 2019 at 9:23 AM Rob Clark robdclark@chromium.org wrote:
On Tue, Aug 6, 2019 at 8:50 AM Christoph Hellwig hch@lst.de wrote:
On Tue, Aug 06, 2019 at 07:11:41AM -0700, Rob Clark wrote:
Agreed that drm_cflush_* isn't a great API. In this particular case (IIUC), I need wb+inv so that there aren't dirty cache lines that drop out to memory later, and so that I don't get a cache hit on uncached/wc mmap'ing.
So what is the use case here? Allocate pages using the page allocator (or CMA for that matter), and then mmaping them to userspace and never touching them again from the kernel?
Currently, it is pages coming from tmpfs. Ideally we want pages that are swappable when unpinned.
to be more specific, pages come from shmem_file_setup()/shmem_read_mapping_page()
BR, -R