public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller"	 <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni	 <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
	Kuniyuki Iwashima	 <kuniyu@amazon.com>,
	Qasim Ijaz <qasdev00@gmail.com>,
	Nathan Chancellor	 <nathan@kernel.org>,
	Andrew Lunn <andrew@lunn.ch>,
	linux-kernel@vger.kernel.org, 	netdev@vger.kernel.org
Subject: Re: [PATCH v4 7/7] net: register debugfs file for net_device refcnt tracker
Date: Thu, 24 Apr 2025 06:56:06 -0400	[thread overview]
Message-ID: <cdfc5c6f260ee1f81b8bb0402488bb97dd4351bb.camel@kernel.org> (raw)
In-Reply-To: <20250423173231.5c61af5b@kernel.org>

On Wed, 2025-04-23 at 17:32 -0700, Jakub Kicinski wrote:
> On Wed, 23 Apr 2025 20:04:58 -0400 Jeff Layton wrote:
> > On Wed, 2025-04-23 at 16:53 -0700, Jakub Kicinski wrote:
> > > Names are not unique and IIUC debugfs is not namespaced.

Correct, debugfs is not namespaced.

I meant to say earlier that I'm open to suggestions on how to make the
netdev names unique. Low-level netdev stuff is not my area of
expertise. We can drop this patch if doing so is problematic.

> > > How much naming the objects in a "user readable" fashion actually
> > > matter? It'd be less churn to create some kind of "object class"
> > > with a directory level named after what's already passed to
> > > ref_tracker_dir_init() and then id the objects by the pointer value 
> > > as sub-dirs of that?  
> > 
> > That sounds closer to what I had done originally. Andrew L. suggested
> > the flat directory that this version represents. I'm fine with whatever
> > hierarchy, but let's decide that before I respin again.
> 
> Sorry about that :(
> 

No worries...but we do need to decide what this directory hierarchy
should look like.

Andrew's point earlier was that this is just debugfs, so a flat
"ref_tracker" directory full of files is fine. I tend to agree with
him; NAME_MAX is 255, so we have plenty of room to make uniquely-named
files.

We could build a dir hierarchy though. Something like:

- ref_tracker
    + netdev
    + netns
    
...and then each object class subdir would hold uniquely-named files.
Each subsys would need to create the directory and then the files
within it, but we could add helpers for that.

Note that this is debugfs, so we can always change that later as it's
not counted as part of ABI.

Which way should we do it?
 
> > When I was tracking down net namespace leaks recently, it was very nice
> > to have the inode number of the leaked netns's in the filenames. I
> > would have probably had to grovel around with drgn to figure out the
> > address if that weren't embedded in the name. I think we probably ought
> > to leave it up to each subsystem how it names its files. The
> > discriminators between different types of objects can vary wildly.
> > 
> > One thing that might be simpler is to make ref_tracker_dir_debugfs() a
> > varargs function and allow passing in a format string and set of
> > arguments for it. That might make things simpler for the callers.
> 
> Yes, cutting out the formatting in the callers would definitely 
> be a win. Maybe that'd make the whole thing sufficiently palatable :)

Ok, I'll plan to change that. That does make the callers a lot cleaner.
-- 
Jeff Layton <jlayton@kernel.org>

  reply	other threads:[~2025-04-24 10:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-18 14:24 [PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir Jeff Layton
2025-04-18 14:24 ` [PATCH v4 1/7] ref_tracker: don't use %pK in pr_ostream() output Jeff Layton
2025-04-23 23:46   ` Jakub Kicinski
2025-04-23 23:56     ` Jeff Layton
2025-04-18 14:24 ` [PATCH v4 2/7] ref_tracker: add a top level debugfs directory for ref_tracker Jeff Layton
2025-04-18 14:24 ` [PATCH v4 3/7] ref_tracker: have callers pass output function to pr_ostream() Jeff Layton
2025-04-18 14:24 ` [PATCH v4 4/7] ref_tracker: allow pr_ostream() to print directly to a seq_file Jeff Layton
2025-04-18 14:24 ` [PATCH v4 5/7] ref_tracker: add ability to register a file in debugfs for a ref_tracker_dir Jeff Layton
2025-04-18 14:24 ` [PATCH v4 6/7] net: add ref_tracker_dir_debugfs() calls for netns refcount tracking Jeff Layton
2025-04-18 14:24 ` [PATCH v4 7/7] net: register debugfs file for net_device refcnt tracker Jeff Layton
2025-04-23 23:53   ` Jakub Kicinski
2025-04-24  0:04     ` Jeff Layton
2025-04-24  0:32       ` Jakub Kicinski
2025-04-24 10:56         ` Jeff Layton [this message]
2025-04-24 12:10           ` Andrew Lunn
2025-04-24 22:52             ` Jakub Kicinski
2025-04-24 23:07               ` Eric Dumazet
2025-04-25 12:40                 ` Jeff Layton
2025-04-25 12:46               ` Jeff Layton
2025-04-23 23:44 ` [PATCH v4 0/7] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir Jakub Kicinski
2025-04-23 23:48   ` Jeff Layton
2025-04-23 23:56     ` Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cdfc5c6f260ee1f81b8bb0402488bb97dd4351bb.camel@kernel.org \
    --to=jlayton@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=kuniyu@amazon.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nathan@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=qasdev00@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox