diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2019-11-30 23:23:52 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-12-03 07:36:38 -0700 |
commit | 795ee49c1a28d1b3eeb2b463f18d557700fc6153 (patch) | |
tree | 37a0074d7559534cd68eb5d58883f5ab27f3bf7d /samples/binderfs | |
parent | 8cdda87a4414092cd210e766189cf0353a844861 (diff) |
block: optimise bvec_iter_advance()
bvec_iter_advance() is quite popular, but compilers fail to do proper
alias analysis and optimise it good enough. The assembly is checked
for gcc 9.2, x86-64.
- remove @iter->bi_size from min(...), as it's always less than @bytes.
Modify at the beginning and forget about it.
- the compiler isn't able to collapse memory dependencies and remove
writes in the loop. Help it by explicitely using local vars.
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'samples/binderfs')
0 files changed, 0 insertions, 0 deletions