Message ID | cover.1605799583.git.asml.silence@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | optimise iov_iter | expand |
On 11/19/20 8:29 AM, Pavel Begunkov wrote: > The first patch optimises iov_iter_npages() for the bvec case, and the > second helps code generation to kill unreachable code. > > Pavel Begunkov (2): > iov_iter: optimise iov_iter_npages for bvec > iov_iter: optimise iter type checking > > include/linux/uio.h | 10 +++++----- > lib/iov_iter.c | 10 +++++----- > 2 files changed, 10 insertions(+), 10 deletions(-) Nice! Tested this and confirmed both the better code generation, and reduction in overhead in iov_iter_npages(). Reviewed-by: Jens Axboe <axboe@kernel.dk>
On 19/11/2020 16:46, Jens Axboe wrote: > On 11/19/20 8:29 AM, Pavel Begunkov wrote: >> The first patch optimises iov_iter_npages() for the bvec case, and the >> second helps code generation to kill unreachable code. >> >> Pavel Begunkov (2): >> iov_iter: optimise iov_iter_npages for bvec >> iov_iter: optimise iter type checking >> >> include/linux/uio.h | 10 +++++----- >> lib/iov_iter.c | 10 +++++----- >> 2 files changed, 10 insertions(+), 10 deletions(-) > > Nice! Tested this and confirmed both the better code generation, > and reduction in overhead in iov_iter_npages(). Thanks! Did you find t-put/etc. boost with your setup? > > Reviewed-by: Jens Axboe <axboe@kernel.dk>
On 11/19/20 10:14 AM, Pavel Begunkov wrote: > On 19/11/2020 16:46, Jens Axboe wrote: >> On 11/19/20 8:29 AM, Pavel Begunkov wrote: >>> The first patch optimises iov_iter_npages() for the bvec case, and the >>> second helps code generation to kill unreachable code. >>> >>> Pavel Begunkov (2): >>> iov_iter: optimise iov_iter_npages for bvec >>> iov_iter: optimise iter type checking >>> >>> include/linux/uio.h | 10 +++++----- >>> lib/iov_iter.c | 10 +++++----- >>> 2 files changed, 10 insertions(+), 10 deletions(-) >> >> Nice! Tested this and confirmed both the better code generation, >> and reduction in overhead in iov_iter_npages(). > > Thanks! Did you find t-put/etc. boost with your setup? Yeah, for this kind of test, if we shave 1% off the stack overhead, that directly yields an increase in peak IOPS. My numbers were close to yours, dropped about 1% of system overhead.
On 19/11/2020 17:20, Jens Axboe wrote: > On 11/19/20 10:14 AM, Pavel Begunkov wrote: >> On 19/11/2020 16:46, Jens Axboe wrote: >>> On 11/19/20 8:29 AM, Pavel Begunkov wrote: >>>> The first patch optimises iov_iter_npages() for the bvec case, and the >>>> second helps code generation to kill unreachable code. >>>> >>>> Pavel Begunkov (2): >>>> iov_iter: optimise iov_iter_npages for bvec >>>> iov_iter: optimise iter type checking >>>> >>>> include/linux/uio.h | 10 +++++----- >>>> lib/iov_iter.c | 10 +++++----- >>>> 2 files changed, 10 insertions(+), 10 deletions(-) >>> >>> Nice! Tested this and confirmed both the better code generation, >>> and reduction in overhead in iov_iter_npages(). >> >> Thanks! Did you find t-put/etc. boost with your setup? > > Yeah, for this kind of test, if we shave 1% off the stack overhead, > that directly yields an increase in peak IOPS. My numbers were close > to yours, dropped about 1% of system overhead. That's great. I was guessing how much of it can be due to not cached bvec and was just tossed to somewhere else.