Hi, This series switches both the ring, sqes, and kbuf side away from using remap_pfn_range(). Patch 1 is just a prep patch, and patches 2-3 add ring support, and patch 4 just unifies some identical code. Patches 5-7 cleanup some kbuf side code, and patch 8 prepares buffer lists to be reference counted, and then patch 9 can finally switch kbuf to also use the nicer vm_insert_pages(). Patch 10 is a cleanup, and patch 11 moves the alloc/pin/map etc code into a separate file. With this, no more remap_pfn_range(), and no more manual cleanup of having used it. Changes since v2: - Simplify references on compound pages (Johannes) - Fix hunk of one patch being wrong (Jeff) - Fix typo for !CONFIG_MMU (me) include/linux/io_uring_types.h | 4 - io_uring/Makefile | 3 +- io_uring/io_uring.c | 246 +----------------------- io_uring/io_uring.h | 5 - io_uring/kbuf.c | 291 ++++++++-------------------- io_uring/kbuf.h | 11 +- io_uring/memmap.c | 333 +++++++++++++++++++++++++++++++++ io_uring/memmap.h | 25 +++ io_uring/rsrc.c | 37 +--- mm/nommu.c | 7 + 10 files changed, 467 insertions(+), 495 deletions(-) -- Jens Axboe