On Thu, Dec 29, 2016 at 01:34:45PM -0600, Eric Biggers wrote: > From: Eric Biggers <ebigg...@google.com> > > To install a buffer_head into the cpu's LRU queue, bh_lru_install() > would construct a new copy of the queue and then memcpy it over the real > queue. But it's easily possible to do the update in-place, which is > faster and simpler. Some work can also be skipped if the buffer_head > was already in the queue. > > As a microbenchmark I timed how long it takes to run sb_getblk() > 10,000,000 times alternating between BH_LRU_SIZE + 1 blocks. > Effectively, this benchmarks looking up buffer_heads that are in the > page cache but not in the LRU: > > Before this patch: 1.758s > After this patch: 1.653s > > This patch also removes about 350 bytes of compiled code (on x86_64), > partly due to removal of the memcpy() which was being inlined+unrolled. > > Signed-off-by: Eric Biggers <ebigg...@google.com>
Ping? Al, do you have any interest in taking this patch? - Eric