Thread (16 messages) 16 messages, 3 authors, 2016-12-03

Re: [PATCH 1/5] mbcache: correctly handle 'e_referenced' bit

From: Theodore Ts'o <tytso@mit.edu>
Date: 2016-12-03 20:28:46

On Sat, Nov 26, 2016 at 10:17:57PM -0800, Eric Biggers wrote:
mbcache entries have an 'e_referenced' bit which users can set with
mb_cache_entry_touch() to indicate that an entry should be given another
pass through the LRU list before the shrinker can delete it.  However,
mb_cache_shrink() actually would, when seeing an e_referenced entry at
the front of the list (the least-recently used end), place it right at
the front of the list again.  The next iteration would then remove the
entry from the list and delete it.  Consequently, e_referenced had
essentially no effect, so ext2/ext4 xattr blocks would sometimes not be
reused as often as expected.

Fix this by making the shrinker move e_referenced entries to the back of
the list rather than the front.

Signed-off-by: Eric Biggers <redacted>
Thanks, applied.

					- Ted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help