On Mon, Nov 28, 2016 at 11:44:20AM +0100, Jan Kara wrote: > On Sat 26-11-16 22:17:57, 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 <ebiggers@xxxxxxxxxx> > > Bah, good spotting. You can add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> > > BTW, how did you find out? > Nothing special --- I just happened to notice while reading over the code. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html