On 4/14/23 17:01, John Ogness wrote: > On 2023-04-14, Vlastimil Babka <vbabka@xxxxxxx> wrote: >> Is it perhaps a similar situation to this thread? >> >> https://lore.kernel.org/all/20230412124735.GE628377@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > > We are dealing with a spin_lock() inside a raw_spin_lock() section. The > legacy console drivers do this. The fix is the new atomic/threaded > consoles. For CONFIG_PREEMPT_RT a workaround is implemented so that the > legacy consoles avoid this. For !CONFIG_PREEMPT_RT you can expect > CONFIG_PROVE_RAW_LOCK_NESTING to cause a splat on that printk(). > > Or perhaps that particular printk() in cblist_init_generic() should be > changed to printk_deferred() as a temporary whack-a-mole > workaround. What I meant that in the linked thread a solution seems to be forming in the form of annotation for lockdep/CONFIG_PROVE_RAW_LOCK_NESTING to make it aware that on CONFIG_PREEMPT_RT the problem it sees is side-stepped so it shouldn't warn about it on !PREEMPT_RT, and maybe that solution could be used for the printk issue as well (I admit I didn't check the code, just by reading your mail it sounded very similar). > John Ogness