Re: [PATCH v2 3/3] timers: Disable memory pre-allocation of timer debug objects
From: Thomas Gleixner
Date: Thu Jun 12 2025 - 17:00:40 EST
On Thu, Jun 12 2025 at 12:55, kernel test robot wrote:
> kernel test robot noticed
> "WARNING:possible_circular_locking_dependency_detected" on:
The lockdep issue comes from patch 2/3 which prints with the hash bucket
lock held.
> commit: 89fd87e046372ce70f8146357324cacd365369fe ("[PATCH v2 3/3] timers: Disable memory pre-allocation of timer debug objects")
This one triggers it because the preallocation disable makes debug
object go out of memory.
> [ 92.564990][ T1] _printk (kbuild/obj/consumer/x86_64-randconfig-003-20250608/kernel/printk/printk.c:2475)
> [ 92.565340][ T1] lookup_object_or_alloc (kbuild/obj/consumer/x86_64-randconfig-003-20250608/lib/debugobjects.c:700)
That's the:
debug_objects_disable("out of memory");
introduced by patch 2/3. The printk() in debug_objects_disable() needs
to be deferred.
> [ 92.565838][ T1] __debug_object_init (kbuild/obj/consumer/x86_64-randconfig-003-20250608/lib/debugobjects.c:750)
> [ 92.566274][ T1] debug_object_init (kbuild/obj/consumer/x86_64-randconfig-003-20250608/lib/debugobjects.c:785)
Which means that the changelog saying:
"So the chance that debug_objects gets disabled because it is running out
of free debug_object should be minimal."
is slightly off ....
Thanks,
tglx