linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* slub: BUG: Invalid wait context
@ 2021-09-02 16:22 Jens Axboe
  2021-09-02 18:56 ` Matthew Wilcox
  0 siblings, 1 reply; 6+ messages in thread
From: Jens Axboe @ 2021-09-02 16:22 UTC (permalink / raw)
  To: LKML, Thomas Gleixner, Christoph Lameter, Linux Memory Management List

Hi,

Booting current -git yields the below splat. I'm assuming this is
related to the new RT stuff, where spin_lock() can sleep. This obviously
won't fly off IPI.

I'll leave the actual fix to others.

[    1.430398] =============================
[    1.430398] [ BUG: Invalid wait context ]
[    1.430398] 5.14.0+ #11360 Not tainted
[    1.430398] -----------------------------
[    1.430533] swapper/0/0 is trying to lock:
[    1.430743] ffff888100050918 (&n->list_lock){....}-{3:3}, at: deactivate_slab+0x213/0x540
[    1.431171] other info that might help us debug this:
[    1.431430] context-{2:2}
[    1.431567] no locks held by swapper/0/0.
[    1.431774] stack backtrace:
[    1.431923] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.14.0+ #11360
[    1.432246] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
[    1.432826] Call Trace:
[    1.432961]  <IRQ>
[    1.433071]  dump_stack_lvl+0x45/0x59
[    1.433273]  __lock_acquire.cold+0x21a/0x34d
[    1.433504]  ? lock_chain_count+0x20/0x20
[    1.433722]  ? lockdep_hardirqs_on_prepare+0x1f0/0x1f0
[    1.433990]  ? __lock_acquire+0x86b/0x30b0
[    1.434206]  lock_acquire+0x157/0x3e0
[    1.434399]  ? deactivate_slab+0x213/0x540
[    1.434615]  ? lock_release+0x410/0x410
[    1.434815]  ? lockdep_hardirqs_on_prepare+0x1f0/0x1f0
[    1.435081]  ? mark_held_locks+0x65/0x90
[    1.435286]  ? lock_is_held_type+0x98/0x110
[    1.435509]  ? lock_is_held_type+0x98/0x110
[    1.435728]  _raw_spin_lock+0x2c/0x40
[    1.435922]  ? deactivate_slab+0x213/0x540
[    1.436136]  deactivate_slab+0x213/0x540
[    1.436341]  ? sched_clock_tick+0x49/0x80
[    1.436556]  ? lock_is_held_type+0x98/0x110
[    1.436774]  flush_cpu_slab+0x34/0x50
[    1.436966]  flush_smp_call_function_queue+0xf6/0x2c0
[    1.437228]  ? slub_cpu_dead+0xe0/0xe0
[    1.437426]  __sysvec_call_function_single+0x6b/0x280
[    1.437691]  sysvec_call_function_single+0x65/0x90
[    1.437940]  </IRQ>
[    1.438053]  asm_sysvec_call_function_single+0xf/0x20
[    1.438314] RIP: 0010:default_idle+0x10/0x20
[    1.438539] Code: ff f0 80 63 02 df 5b 41 5c c3 0f ae f0 0f ae 3b 0f ae f0 eb 90 0f 1f 44 00 00 0f 1f 44 00 00 eb 07 0f 00 2d 92 5d 45 00 fb f4 <c3> cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 0f 1f 44 00 00 41
[    1.439481] RSP: 0000:ffffffff82a07e60 EFLAGS: 00000206
[    1.439605] RAX: 0000000000001811 RBX: ffffffff82a1f400 RCX: ffffffff81dbddc5
[    1.439605] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff81dce145
[    1.439605] RBP: 0000000000000000 R08: 0000000000000001 R09: ffff8881f7630b0b
[    1.439605] R10: ffffed103eec6161 R11: 0000000000000000 R12: ffffffff8306c7b0
[    1.439605] R13: 0000000000000000 R14: 0000000000000000 R15: 1ffffffff0540fd1
[    1.439605]  ? rcu_eqs_enter.constprop.0+0xa5/0xc0
[    1.439605]  ? default_idle_call+0x45/0xb0
[    1.439605]  default_idle_call+0x7d/0xb0
[    1.439605]  do_idle+0x31c/0x3d0
[    1.439605]  ? lock_downgrade+0x390/0x390
[    1.439605]  ? arch_cpu_idle_exit+0x40/0x40
[    1.439605]  cpu_startup_entry+0x19/0x20
[    1.439605]  start_kernel+0x38d/0x3ab
[    1.439605]  secondary_startup_64_no_verify+0xb0/0xbb


-- 
Jens Axboe


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

* Re: slub: BUG: Invalid wait context
  2021-09-02 16:22 slub: BUG: Invalid wait context Jens Axboe
@ 2021-09-02 18:56 ` Matthew Wilcox
  2021-09-02 18:59   ` Jens Axboe
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew Wilcox @ 2021-09-02 18:56 UTC (permalink / raw)
  To: Jens Axboe
  Cc: LKML, Thomas Gleixner, Christoph Lameter, Linux Memory Management List

On Thu, Sep 02, 2021 at 10:22:23AM -0600, Jens Axboe wrote:
> Hi,
> 
> Booting current -git yields the below splat. I'm assuming this is
> related to the new RT stuff, where spin_lock() can sleep. This obviously
> won't fly off IPI.

You want to turn off PROVE_RAW_LOCK_NESTING for the moment.

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

* Re: slub: BUG: Invalid wait context
  2021-09-02 18:56 ` Matthew Wilcox
@ 2021-09-02 18:59   ` Jens Axboe
  2021-09-02 19:02     ` Matthew Wilcox
  0 siblings, 1 reply; 6+ messages in thread
From: Jens Axboe @ 2021-09-02 18:59 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: LKML, Thomas Gleixner, Christoph Lameter, Linux Memory Management List

On 9/2/21 12:56 PM, Matthew Wilcox wrote:
> On Thu, Sep 02, 2021 at 10:22:23AM -0600, Jens Axboe wrote:
>> Hi,
>>
>> Booting current -git yields the below splat. I'm assuming this is
>> related to the new RT stuff, where spin_lock() can sleep. This obviously
>> won't fly off IPI.
> 
> You want to turn off PROVE_RAW_LOCK_NESTING for the moment.

Because?

-- 
Jens Axboe


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

* Re: slub: BUG: Invalid wait context
  2021-09-02 18:59   ` Jens Axboe
@ 2021-09-02 19:02     ` Matthew Wilcox
  2021-09-02 19:05       ` Jens Axboe
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew Wilcox @ 2021-09-02 19:02 UTC (permalink / raw)
  To: Jens Axboe
  Cc: LKML, Thomas Gleixner, Christoph Lameter, Linux Memory Management List

On Thu, Sep 02, 2021 at 12:59:33PM -0600, Jens Axboe wrote:
> On 9/2/21 12:56 PM, Matthew Wilcox wrote:
> > On Thu, Sep 02, 2021 at 10:22:23AM -0600, Jens Axboe wrote:
> >> Hi,
> >>
> >> Booting current -git yields the below splat. I'm assuming this is
> >> related to the new RT stuff, where spin_lock() can sleep. This obviously
> >> won't fly off IPI.
> > 
> > You want to turn off PROVE_RAW_LOCK_NESTING for the moment.
> 
> Because?

        help
         Enable the raw_spinlock vs. spinlock nesting checks which ensure
         that the lock nesting rules for PREEMPT_RT enabled kernels are
         not violated.

         NOTE: There are known nesting problems. So if you enable this
         option expect lockdep splats until these problems have been fully
         addressed which is work in progress. This config switch allows to
         identify and analyze these problems. It will be removed and the
         check permanently enabled once the main issues have been fixed.

         If unsure, select N.


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

* Re: slub: BUG: Invalid wait context
  2021-09-02 19:02     ` Matthew Wilcox
@ 2021-09-02 19:05       ` Jens Axboe
  2021-09-02 19:55         ` Thomas Gleixner
  0 siblings, 1 reply; 6+ messages in thread
From: Jens Axboe @ 2021-09-02 19:05 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: LKML, Thomas Gleixner, Christoph Lameter, Linux Memory Management List

On 9/2/21 1:02 PM, Matthew Wilcox wrote:
> On Thu, Sep 02, 2021 at 12:59:33PM -0600, Jens Axboe wrote:
>> On 9/2/21 12:56 PM, Matthew Wilcox wrote:
>>> On Thu, Sep 02, 2021 at 10:22:23AM -0600, Jens Axboe wrote:
>>>> Hi,
>>>>
>>>> Booting current -git yields the below splat. I'm assuming this is
>>>> related to the new RT stuff, where spin_lock() can sleep. This obviously
>>>> won't fly off IPI.
>>>
>>> You want to turn off PROVE_RAW_LOCK_NESTING for the moment.
>>
>> Because?
> 
>         help
>          Enable the raw_spinlock vs. spinlock nesting checks which ensure
>          that the lock nesting rules for PREEMPT_RT enabled kernels are
>          not violated.
> 
>          NOTE: There are known nesting problems. So if you enable this
>          option expect lockdep splats until these problems have been fully
>          addressed which is work in progress. This config switch allows to
>          identify and analyze these problems. It will be removed and the
>          check permanently enabled once the main issues have been fixed.
> 
>          If unsure, select N.

This isn't a new text, it's been like that for quite a while. The warning
is new on -git with that option.

-- 
Jens Axboe


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

* Re: slub: BUG: Invalid wait context
  2021-09-02 19:05       ` Jens Axboe
@ 2021-09-02 19:55         ` Thomas Gleixner
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Gleixner @ 2021-09-02 19:55 UTC (permalink / raw)
  To: Jens Axboe, Matthew Wilcox
  Cc: LKML, Christoph Lameter, Linux Memory Management List

On Thu, Sep 02 2021 at 13:05, Jens Axboe wrote:
> On 9/2/21 1:02 PM, Matthew Wilcox wrote:
>>          NOTE: There are known nesting problems. So if you enable this
>>          option expect lockdep splats until these problems have been fully
>>          addressed which is work in progress. This config switch allows to
>>          identify and analyze these problems. It will be removed and the
>>          check permanently enabled once the main issues have been fixed.
>> 
>>          If unsure, select N.
>
> This isn't a new text, it's been like that for quite a while. The warning
> is new on -git with that option.

I'm looking into it...

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

end of thread, other threads:[~2021-09-02 19:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 16:22 slub: BUG: Invalid wait context Jens Axboe
2021-09-02 18:56 ` Matthew Wilcox
2021-09-02 18:59   ` Jens Axboe
2021-09-02 19:02     ` Matthew Wilcox
2021-09-02 19:05       ` Jens Axboe
2021-09-02 19:55         ` Thomas Gleixner

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).