On 12/15/21 11:41, Eric Dumazet wrote: > On Wed, Dec 15, 2021 at 2:38 AM Eric Dumazet <edumazet@xxxxxxxxxx> wrote: >> >> On Wed, Dec 15, 2021 at 2:18 AM Jiri Slaby <jirislaby@xxxxxxxxx> wrote: >> > >> > On 05. 12. 21, 5:21, Eric Dumazet wrote: >> > > From: Eric Dumazet <edumazet@xxxxxxxxxx> >> > > >> > > It can be hard to track where references are taken and released. >> > > >> > > In networking, we have annoying issues at device or netns dismantles, >> > > and we had various proposals to ease root causing them. >> > ... >> > > --- a/lib/Kconfig >> > > +++ b/lib/Kconfig >> > > @@ -680,6 +680,11 @@ config STACK_HASH_ORDER >> > > Select the hash size as a power of 2 for the stackdepot hash table. >> > > Choose a lower value to reduce the memory impact. >> > > >> > > +config REF_TRACKER >> > > + bool >> > > + depends on STACKTRACE_SUPPORT >> > > + select STACKDEPOT >> > >> > Hi, >> > >> > I have to: >> > + select STACKDEPOT_ALWAYS_INIT >> > here. Otherwise I see this during boot: >> > >> >> Thanks, I am adding Vlastimil Babka to the CC >> >> This stuff has been added in >> commit e88cc9f5e2e7a5d28a1adf12615840fab4cbebfd >> Author: Vlastimil Babka <vbabka@xxxxxxx> >> Date: Tue Dec 14 21:50:42 2021 +0000 >> >> lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() >> >> > > (This is a problem because this patch is not yet in net-next, so I really do > not know how this issue should be handled) Looks like multiple new users of stackdepot start appearing as soon as I touch it :) The way we solved this with a new DRM user was Andrew adding a fixup to my patch referenced above, in his "after-next" section of mm tree. Should work here as well. ----8<---- >From 0fa1f25925c05f8c5c4f776913d84904fb4c03a1 Mon Sep 17 00:00:00 2001 From: Vlastimil Babka <vbabka@xxxxxxx> Date: Wed, 15 Dec 2021 11:52:10 +0100 Subject: [PATCH] lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup4 Due to 4e66934eaadc ("lib: add reference counting tracking infrastructure") landing recently to net-next adding a new stack depot user in lib/ref_tracker.c we need to add an appropriate call to stack_depot_init() there as well. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> --- include/linux/ref_tracker.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/ref_tracker.h b/include/linux/ref_tracker.h index c11c9db5825c..60f3453be23e 100644 --- a/include/linux/ref_tracker.h +++ b/include/linux/ref_tracker.h @@ -4,6 +4,7 @@ #include <linux/refcount.h> #include <linux/types.h> #include <linux/spinlock.h> +#include <linux/stackdepot.h> struct ref_tracker; @@ -26,6 +27,7 @@ static inline void ref_tracker_dir_init(struct ref_tracker_dir *dir, spin_lock_init(&dir->lock); dir->quarantine_avail = quarantine_count; refcount_set(&dir->untracked, 1); + stack_depot_init(); } void ref_tracker_dir_exit(struct ref_tracker_dir *dir); -- 2.34.1