* Peter Zijlstra <[email protected]> wrote:
>
> Josh suggested moving the _ONCE logic inside the trap handler, using a
> bit in the bug_entry::flags field, avoiding the need for the extra
> variable.
This looks interesting, as the _ONCE() methods of warning are far more
user-friendly than WARN() spam.
> Sadly this only works for WARN_ON_ONCE(), since the others have
> printk() statements prior to triggering the trap.
Which one is problematic to convert, WARN_ONCE()?
> Still, this saves some text and data:
>
> text data bss dec hex filename
> 10469505 4443448 843776 15756729 f06db9
> defconfig-build/vmlinux-ud0
> 10452803 4442616 843776 15739195 f0293b
> defconfig-build/vmlinux-ud0-once
>
> (Only compile tested on x86_64 so far.)
That looks pretty sweet, as various almost never triggered _ONCE() checks tend
to
disturb the generated machine code quite a bit ...
Thanks,
Ingo