Re: [PATCH v2 2/2] net: add debugfs files for showing netns refcount tracking info

Andrew Lunn
2025-04-13T20:11:53Z

On Sun, Apr 13, 2025 at 07:40:59AM -0400, Jeff Layton wrote:
> On Thu, 2025-04-10 at 16:12 +0200, Andrew Lunn wrote:
> > > Oh, ok. I guess you mean these names?
> > >
> > >         ref_tracker_dir_init(&net->refcnt_tracker, 128, "net refcnt");
> > >         ref_tracker_dir_init(&net->notrefcnt_tracker, 128, "net notrefcnt");
> > >
> > > Two problems there:
> > >
> > > 1/ they have an embedded space in the name which is just painful. Maybe we can replace those with underscores?
> > > 2/ they aren't named in a per-net namespace way
> >
> > So the first question is, are the names ABI? Are they exposed to
> > userspace anywhere? Can we change them?
> >
> > If we can change them, space to _ is a simple change. Another option
> > is what hwmon does, hwmon_sanitize_name() which turns a name into
> > something which is legal in a filesystem. If all of this code can be
> > pushed into the core tracker, so all trackers appear in debugfs, such
> > a sanitiser is the way i would go.
> >
> > And if we can change the name, putting the netns into the name would
> > also work. There is then no need for the directory, if they have
> > unique names.
> >
> > Looking at other users of ref_tracker_dir_init():
> >
> > ~/linux$ grep -r ref_tracker_dir_init
> > lib/test_ref_tracker.c: ref_tracker_dir_init(&ref_dir, 100, "selftest");
> >
> > Can only be loaded once, so is unique.
> >
> > drivers/gpu/drm/i915/intel_wakeref.c: ref_tracker_dir_init(&wf->debug, INTEL_REFTRACK_DEAD_COUNT, name);
> >
> > Looks like it is unique for one GPU, but if you have multiple GPUs
> > they are not unique.
> >
>
> We'll need some input from the i915 folks then.

That is why i think it would be better to add a warning, give the i915
folks a heads up, and leave them to fix it how they want. We want the
warning anyway to cover new refcount instances being added.

Andrew