On Tue, Jun 30, 2020 at 07:59:39AM +0200, Ahmed S. Darwish wrote:
> Peter Zijlstra wrote:
> 
> ...
> 
> > -#define lockdep_assert_irqs_disabled()     do {                    \
> > -           WARN_ONCE(debug_locks && !current->lockdep_recursion && \
> > -                     current->hardirqs_enabled,                    \
> > -                     "IRQs not disabled as expected\n");           \
> > -   } while (0)
> 
> ...
> 
> > +#define lockdep_assert_irqs_disabled()                             \
> > +do {                                                                       
> > \
> > +   WARN_ON_ONCE(debug_locks && this_cpu_read(hardirqs_enabled));   \
> > +} while (0)
> 
> I think it would be nice to keep the "IRQs not disabled as expected"
> message. It makes the lockdep splat much more readable.
> 
> This is similarly the case for the v3 lockdep preemption macros:
> 
>   https://lkml.kernel.org/r/20200630054452.3675847-5-a.darw...@linutronix.de
> 
> I did not add a message though to get in-sync with the IRQ macros above.

Hurmph.. the file:line output of a splat is usually all I look at, also
__WARN_printf() generates such atrocious crap code that try and not use
it.

I suppose I should do a __WARN_str() or something, but then people are
unlikely to want to use that, too much variation etc. :/

Cursed if you do, cursed if you don't.

Reply via email to