[PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir

Jeff Layton posted 7 patches 9 months, 3 weeks ago
There is a newer version of this series
include/linux/ref_tracker.h |  13 ++++
lib/ref_tracker.c           | 151 +++++++++++++++++++++++++++++++++++++++-----
net/core/dev.c              |   6 +-
net/core/net_namespace.c    |  34 +++++++++-
4 files changed, 187 insertions(+), 17 deletions(-)
[PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir
Posted by Jeff Layton 9 months, 3 weeks ago
This version should be pretty close to merge-ready. The only real
difference is the use of NAME_MAX as the field width for on-stack
sprintf buffers.

I left the Reviewed-bys intact. Let me know if that's an issue and
we can drop them.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Changes in v4:
- Drop patch to widen ref_tracker_dir_.name, use NAME_MAX+1 (256) instead since this only affects dentry name
- Link to v3: https://lore.kernel.org/r/20250417-reftrack-dbgfs-v3-0-c3159428c8fb@kernel.org

Changes in v3:
- don't overwrite dir->name in ref_tracker_dir_debugfs
- define REF_TRACKER_NAMESZ and use it when setting name
- Link to v2: https://lore.kernel.org/r/20250415-reftrack-dbgfs-v2-0-b18c4abd122f@kernel.org

Changes in v2:
- Add patch to do %pK -> %p conversion in ref_tracker.c
- Pass in output function to pr_ostream() instead of if statement
- Widen ref_tracker_dir.name to 64 bytes to accomodate unique names
- Eliminate error handling with debugfs manipulation
- Incorporate pointer value into netdev name
- Link to v1: https://lore.kernel.org/r/20250414-reftrack-dbgfs-v1-0-f03585832203@kernel.org

---
Jeff Layton (7):
      ref_tracker: don't use %pK in pr_ostream() output
      ref_tracker: add a top level debugfs directory for ref_tracker
      ref_tracker: have callers pass output function to pr_ostream()
      ref_tracker: allow pr_ostream() to print directly to a seq_file
      ref_tracker: add ability to register a file in debugfs for a ref_tracker_dir
      net: add ref_tracker_dir_debugfs() calls for netns refcount tracking
      net: register debugfs file for net_device refcnt tracker

 include/linux/ref_tracker.h |  13 ++++
 lib/ref_tracker.c           | 151 +++++++++++++++++++++++++++++++++++++++-----
 net/core/dev.c              |   6 +-
 net/core/net_namespace.c    |  34 +++++++++-
 4 files changed, 187 insertions(+), 17 deletions(-)
---
base-commit: 695caca9345a160ecd9645abab8e70cfe849e9ff
change-id: 20250413-reftrack-dbgfs-3767b303e2fa

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>
Re: [PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir
Posted by Jakub Kicinski 9 months, 2 weeks ago
On Fri, 18 Apr 2025 10:24:24 -0400 Jeff Layton wrote:
> This version should be pretty close to merge-ready. The only real
> difference is the use of NAME_MAX as the field width for on-stack
> sprintf buffers.

Merge via which tree?
Re: [PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir
Posted by Jeff Layton 9 months, 2 weeks ago
On Wed, 2025-04-23 at 16:44 -0700, Jakub Kicinski wrote:
> On Fri, 18 Apr 2025 10:24:24 -0400 Jeff Layton wrote:
> > This version should be pretty close to merge-ready. The only real
> > difference is the use of NAME_MAX as the field width for on-stack
> > sprintf buffers.
> 
> Merge via which tree?

Good Q. get_maintainer.pl says Andrew owns the ref_tracker code:

$ ./scripts/get_maintainer.pl lib/ref_tracker.c
Andrew Morton <akpm@linux-foundation.org> (maintainer:LIBRARY CODE)
linux-kernel@vger.kernel.org (open list:LIBRARY CODE)
LIBRARY CODE status: Supported

...but I think he ends up owning anything without an explicit
maintainer.

Eric Dumazet wrote the ref_tracker originally though, and the new files
are only added for networking stuff. If you wanted to pick it up, I
doubt Andrew would mind.

Thanks,
-- 
Jeff Layton <jlayton@kernel.org>
Re: [PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir
Posted by Jakub Kicinski 9 months, 2 weeks ago
On Wed, 23 Apr 2025 19:48:29 -0400 Jeff Layton wrote:
> On Wed, 2025-04-23 at 16:44 -0700, Jakub Kicinski wrote:
> > On Fri, 18 Apr 2025 10:24:24 -0400 Jeff Layton wrote:  
> > > This version should be pretty close to merge-ready. The only real
> > > difference is the use of NAME_MAX as the field width for on-stack
> > > sprintf buffers.  
> > 
> > Merge via which tree?  
> 
> Good Q. get_maintainer.pl says Andrew owns the ref_tracker code:
> 
> $ ./scripts/get_maintainer.pl lib/ref_tracker.c
> Andrew Morton <akpm@linux-foundation.org> (maintainer:LIBRARY CODE)
> linux-kernel@vger.kernel.org (open list:LIBRARY CODE)
> LIBRARY CODE status: Supported
> 
> ...but I think he ends up owning anything without an explicit
> maintainer.
> 
> Eric Dumazet wrote the ref_tracker originally though, and the new files
> are only added for networking stuff. If you wanted to pick it up, I
> doubt Andrew would mind.

My moderate excitement about the churn in the core networking core
aside :) - also no strong preferences on the tree. Looks like the
patches don't apply to net next:

Applying: net: register debugfs file for net_device refcnt tracker
Using index info to reconstruct a base tree...
M	net/core/dev.c
Falling back to patching base and 3-way merge...
Auto-merging net/core/dev.c

so we could save a conflict by rebasing and routing them via the
networking trees?