On 09/12/2018 01:35 PM, Waiman Long wrote: > v3->v4: > - Drop patch 4 as it is just a minor optimization. > - Add a cc:stable tag to patch 1. > - Clean up some comments in patch 3. > > v2->v3: > - With confirmation that the dummy array in dentry_stat structure > was never a replacement of a previously used field, patch 3 is now > reverted back to use one of dummy field as the negative dentry count > instead of adding a new field. > > v1->v2: > - Clarify what the new nr_dentry_negative per-cpu counter is tracking > and open-code the increment and decrement as suggested by Dave Chinner. > - Append the new nr_dentry_negative count as the 7th element of dentry-state > instead of replacing one of the dummy entries. > - Remove patch "fs/dcache: Make negative dentries easier to be > reclaimed" for now as I need more time to think about what > to do with it. > - Add 2 more patches to address issues found while reviewing the > dentry code. > - Add another patch to change the conditional branch of > nr_dentry_negative accounting to conditional move so as to reduce > the performance impact of the accounting code. > > This patchset addresses 2 issues found in the dentry code and adds a > new nr_dentry_negative per-cpu counter to track the total number of > negative dentries in all the LRU lists. > > Patch 1 fixes a bug in the accounting of nr_dentry_unused in > shrink_dcache_sb(). > > Patch 2 removes the ____cacheline_aligned_in_smp tag from super_block > LRU lists. > > Patch 3 adds the new nr_dentry_negative per-cpu counter. > > Various filesystem related tests were run and no statistically > significant changes in performance outside of the possible noise range > was observed. > > Waiman Long (3): > fs/dcache: Fix incorrect nr_dentry_unused accounting in > shrink_dcache_sb() > fs: Don't need to put list_lru into its own cacheline > fs/dcache: Track & report number of negative dentries > > Documentation/sysctl/fs.txt | 26 ++++++++++++++++---------- > fs/dcache.c | 38 +++++++++++++++++++++++++++++++++----- > include/linux/dcache.h | 7 ++++--- > include/linux/fs.h | 9 +++++---- > 4 files changed, 58 insertions(+), 22 deletions(-) > Any comments on these patches. The first one actually is a bug fix. Cheers, Longman