On 5/17/22 8:20 AM, Hao Xu wrote: > On 5/17/22 00:21, Jens Axboe wrote: >> Hi, >> >> This series builds to adding support for a different way of doing >> provided buffers, which is a lot more efficient than the existing scheme >> for high rate of consumption/provision of buffers. The interesting bits >> here are patch 3, which also has some performance numbers an an >> explanation of it. >> >> Patch 1 adds NOP support for provided buffers, just so that we can >> benchmark the last change. >> >> Patch 2 just abstracts out the pinning code. >> >> Patch 3 adds the actual feature. >> >> This passes the full liburing suite, and various test cases I adopted >> to use ring provided buffers. >> >> v6: >> - Change layout so that 'head' overlaps with reserved field in first >> buffer, avoiding the weird split of first page having N-1 buffers and >> the rest N (Dylan) >> - Rebase on current kernel bits >> - Fix missing ring unlock on out-of-bufs >> - Fix issue in io_recv() >> >> Can also be found in my git repo, for-5.19/io_uring-pbuf branch: >> >> https://git.kernel.dk/cgit/linux-block/log/?h=for-5.19/io_uring-pbuf >> >> and there's an associated liburing branch too: >> >> https://git.kernel.dk/cgit/liburing/log/?h=huge > > should be the buf-ring branch I guess Oops yes indeed. -- Jens Axboe