dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v15 0/9] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir
@ 2025-06-18 14:24 Jeff Layton
  2025-06-18 14:24 ` [PATCH v15 1/9] ref_tracker: don't use %pK in pr_ostream() output Jeff Layton
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Jeff Layton @ 2025-06-18 14:24 UTC (permalink / raw)
  To: Andrew Morton, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Jani Nikula,
	Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin
  Cc: Krzysztof Karas, Kuniyuki Iwashima, Qasim Ijaz, Nathan Chancellor,
	Andrew Lunn, linux-kernel, netdev, dri-devel, intel-gfx,
	Jeff Layton, Thomas Weißschuh

For those just joining in, this series adds a new top-level
"ref_tracker" debugfs directory, and has each ref_tracker_dir register a
file in there as part of its initialization. It also adds the ability to
register a symlink with a more human-usable name that points to the
file, and does some general cleanup of how the ref_tracker object names
are handled.

Jakub pointed out that I hadn't gotten the xarray locking correct on the last
set [1]. This version should fix that:

[1]: https://lore.kernel.org/netdev/20250611071524.45610986@kernel.org/

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Changes in v15:
- fix xa_lock handling to be IRQ safe
- Link to v14: https://lore.kernel.org/r/20250610-reftrack-dbgfs-v14-0-efb532861428@kernel.org

Changes in v14:
- Clean up dentries asynchronously after ref_tracker_dir_exit()
- Link to v13: https://lore.kernel.org/r/20250603-reftrack-dbgfs-v13-0-7b2a425019d8@kernel.org

Changes in v13:
- drop i915 patch
- Link to v12: https://lore.kernel.org/r/20250529-reftrack-dbgfs-v12-0-11b93c0c0b6e@kernel.org

Changes in v12:
- drop redundant pr_warn() calls. Debugfs already warns when these ops fail
- Link to v11: https://lore.kernel.org/r/20250528-reftrack-dbgfs-v11-0-94ae0b165841@kernel.org

Changes in v11:
- don't call ref_tracker_dir_init() more than once for same i915 objects
- use %llx in format for net_cookie in symlink name
- Link to v10: https://lore.kernel.org/r/20250527-reftrack-dbgfs-v10-0-dc55f7705691@kernel.org

Changes in v10:
- drop the i915 symlink patch
- Link to v9: https://lore.kernel.org/r/20250509-reftrack-dbgfs-v9-0-8ab888a4524d@kernel.org

Changes in v9:
- fix typo in ref_tracker_dir_init() kerneldoc header
- Link to v8: https://lore.kernel.org/r/20250507-reftrack-dbgfs-v8-0-607717d3bb98@kernel.org

Changes in v8:
- fix up compiler warnings that the KTR warned about
- ensure builds with CONFIG_DEBUG_FS=n and CONFIG_REF_TRACKER=y work
- Link to v7: https://lore.kernel.org/r/20250505-reftrack-dbgfs-v7-0-f78c5d97bcca@kernel.org

Changes in v7:
- include net->net_cookie in netns symlink name
- add __ostream_printf to ref_tracker_dir_symlink() stub function
- remove unneeded #include of seq_file.h
- Link to v6: https://lore.kernel.org/r/20250430-reftrack-dbgfs-v6-0-867c29aff03a@kernel.org

Changes in v6:
- clean up kerneldoc comment for ref_tracker_dir_debugfs()
- add missing stub function for ref_tracker_dir_symlink()
- temporary __maybe_unused on ref_tracker_dir_seq_print() to silence compiler warning
- Link to v5: https://lore.kernel.org/r/20250428-reftrack-dbgfs-v5-0-1cbbdf2038bd@kernel.org

Changes in v5:
- add class string to each ref_tracker_dir
- auto-register debugfs file for every tracker in ref_tracker_dir_init
- add function to allow adding a symlink for each tracker
- add patches to create symlinks for netns's and i915 entries
- change output format to print class@%p instead of name@%p
- eliminate the name field in ref_tracker_dir
- fix off-by-one bug when NULL terminating name string
- Link to v4: https://lore.kernel.org/r/20250418-reftrack-dbgfs-v4-0-5ca5c7899544@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 (9):
      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: add a static classname string to each ref_tracker_dir
      ref_tracker: allow pr_ostream() to print directly to a seq_file
      ref_tracker: automatically register a file in debugfs for a ref_tracker_dir
      ref_tracker: add a way to create a symlink to the ref_tracker_dir debugfs file
      net: add symlinks to ref_tracker_dir for netns
      ref_tracker: eliminate the ref_tracker_dir name field

 drivers/gpu/drm/display/drm_dp_tunnel.c |   2 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c |   4 +-
 drivers/gpu/drm/i915/intel_wakeref.c    |   3 +-
 include/linux/ref_tracker.h             |  50 +++++-
 lib/ref_tracker.c                       | 283 ++++++++++++++++++++++++++++++--
 net/core/dev.c                          |   2 +-
 net/core/net_namespace.c                |  34 +++-
 7 files changed, 352 insertions(+), 26 deletions(-)
---
base-commit: 8630c59e99363c4b655788fd01134aef9bcd9264
change-id: 20250413-reftrack-dbgfs-3767b303e2fa

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2025-07-31 16:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-18 14:24 [PATCH v15 0/9] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir Jeff Layton
2025-06-18 14:24 ` [PATCH v15 1/9] ref_tracker: don't use %pK in pr_ostream() output Jeff Layton
2025-06-18 14:24 ` [PATCH v15 2/9] ref_tracker: add a top level debugfs directory for ref_tracker Jeff Layton
2025-06-18 14:24 ` [PATCH v15 3/9] ref_tracker: have callers pass output function to pr_ostream() Jeff Layton
2025-06-23 12:57   ` Krzysztof Karas
2025-06-18 14:24 ` [PATCH v15 4/9] ref_tracker: add a static classname string to each ref_tracker_dir Jeff Layton
2025-06-23 13:21   ` Krzysztof Karas
2025-06-18 14:24 ` [PATCH v15 5/9] ref_tracker: allow pr_ostream() to print directly to a seq_file Jeff Layton
2025-06-23 14:01   ` Krzysztof Karas
2025-06-23 17:28     ` Jeff Layton
2025-06-27 12:32       ` Krzysztof Karas
2025-06-18 14:24 ` [PATCH v15 6/9] ref_tracker: automatically register a file in debugfs for a ref_tracker_dir Jeff Layton
2025-07-30 23:07   ` Kees Cook
2025-07-31 10:29     ` Jeff Layton
2025-07-31 16:54       ` Kees Cook
2025-06-18 14:24 ` [PATCH v15 7/9] ref_tracker: add a way to create a symlink to the ref_tracker_dir debugfs file Jeff Layton
2025-06-18 14:24 ` [PATCH v15 8/9] net: add symlinks to ref_tracker_dir for netns Jeff Layton
2025-06-18 14:24 ` [PATCH v15 9/9] ref_tracker: eliminate the ref_tracker_dir name field Jeff Layton
2025-06-20  0:13 ` [PATCH v15 0/9] ref_tracker: add ability to register a debugfs file for a ref_tracker_dir Jakub Kicinski
2025-06-21  6:58   ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).