Re: [RFC 0/2] nocopy bvec for direct IO

2020-12-13 Thread Pavel Begunkov
On 09/12/2020 16:53, Jens Axboe wrote: > On 12/8/20 7:19 PM, Pavel Begunkov wrote: >> The idea is to avoid copying, merging, etc. bvec from iterator to bio >> in direct I/O and use the one we've already got. Hook it up for io_uring. >> Had an eye on it for a long, and it also was brought up by Matt

Re: [RFC 0/2] nocopy bvec for direct IO

2020-12-09 Thread Al Viro
On Wed, Dec 09, 2020 at 02:19:50AM +, Pavel Begunkov wrote: > The idea is to avoid copying, merging, etc. bvec from iterator to bio > in direct I/O and use the one we've already got. Hook it up for io_uring. > Had an eye on it for a long, and it also was brought up by Matthew > just recently. L

Re: [RFC 0/2] nocopy bvec for direct IO

2020-12-09 Thread Jens Axboe
On 12/8/20 7:19 PM, Pavel Begunkov wrote: > The idea is to avoid copying, merging, etc. bvec from iterator to bio > in direct I/O and use the one we've already got. Hook it up for io_uring. > Had an eye on it for a long, and it also was brought up by Matthew > just recently. Let me know if I forgot

Re: [RFC 0/2] nocopy bvec for direct IO

2020-12-09 Thread Pavel Begunkov
On 09/12/2020 06:50, Christoph Hellwig wrote: > On Wed, Dec 09, 2020 at 02:19:50AM +, Pavel Begunkov wrote: >> A benchmark got me 430KIOPS vs 540KIOPS, or +25% on bare metal. And perf >> shows that bio_iov_iter_get_pages() was taking ~20%. The test is pretty >> silly, but still imposing. I'll r

Re: [RFC 0/2] nocopy bvec for direct IO

2020-12-08 Thread Christoph Hellwig
On Wed, Dec 09, 2020 at 02:19:50AM +, Pavel Begunkov wrote: > A benchmark got me 430KIOPS vs 540KIOPS, or +25% on bare metal. And perf > shows that bio_iov_iter_get_pages() was taking ~20%. The test is pretty > silly, but still imposing. I'll redo it closer to reality for next > iteration, anyw

[RFC 0/2] nocopy bvec for direct IO

2020-12-08 Thread Pavel Begunkov
The idea is to avoid copying, merging, etc. bvec from iterator to bio in direct I/O and use the one we've already got. Hook it up for io_uring. Had an eye on it for a long, and it also was brought up by Matthew just recently. Let me know if I forgot or misplaced some tags. A benchmark got me 430KI