On 1/17/19 5:02 AM, Roman Penyaev wrote: > Hi Jens, > > On 2019-01-16 18:49, Jens Axboe wrote: > > [...] > >> +static void *io_mem_alloc(size_t size) >> +{ >> + gfp_t gfp_flags = GFP_KERNEL | __GFP_ZERO | __GFP_NOWARN | __GFP_COMP >> | >> + __GFP_NORETRY; >> + >> + return (void *) __get_free_pages(gfp_flags, get_order(size)); > > Since these pages are shared between kernel and userspace, do we need > to care about d-cache aliasing on armv6 (or other "strange" archs > which I've never seen) with vivt or vipt cpu caches? > > E.g. vmalloc_user() targets this problem by aligning kernel address > on SHMLBA, so no flush_dcache_page() is required. I'm honestly not sure, it'd be trivial enough to stick a flush_dcache_page() into the few areas we'd need it. The rings are already page (SHMLBA) aligned. -- Jens Axboe