[RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
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(-) -- 1.8.3.1
Re: [RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
On Wed, Jan 30, 2019 at 8:40 AM Waiman Long wrote: > > Ping. Will this patch be picked up? Can you re-send the patch-set and I'll just apply it directly since it seems to be languishing otherwise. Linus
Re: [RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
On 01/30/2019 01:35 PM, Linus Torvalds wrote: > On Wed, Jan 30, 2019 at 8:40 AM Waiman Long wrote: >> Ping. Will this patch be picked up? > Can you re-send the patch-set and I'll just apply it directly since it > seems to be languishing otherwise. > > Linus Sure. Thanks for your help. -Longman
Re: [RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
On 01/15/2019 04:27 PM, Waiman Long wrote: > On 12/16/2018 02:37 PM, Linus Torvalds wrote: >> On Fri, Dec 14, 2018 at 1:53 PM Waiman Long wrote: >>> 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. >> The series looks sane to me. I'm assuming I'll get it either though >> -mm or from Al.. >> >> Linus > Could anyone pick up this patchset? > > Thanks, > Longman > Ping. Will this patch be picked up? Thanks, Longman
Re: [RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
On 12/16/2018 02:37 PM, Linus Torvalds wrote: > On Fri, Dec 14, 2018 at 1:53 PM Waiman Long wrote: >> 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. > The series looks sane to me. I'm assuming I'll get it either though > -mm or from Al.. > > Linus Could anyone pick up this patchset? Thanks, Longman
Re: [RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
On Fri, Dec 14, 2018 at 1:53 PM Waiman Long wrote: > > 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. The series looks sane to me. I'm assuming I'll get it either though -mm or from Al.. Linus
[RESEND PATCH v4 0/3] fs/dcache: Track # of negative dentries
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(-) -- 1.8.3.1