Don't initialize __print_once. Invert the test to reduce initialized
data.
defconfig before: $size vmlinux
text data bss dec hex filename
6976022 679572
1359668 9015262 898fde vmlinux
defconfig after: $size vmlinux
text data bss dec hex filename
6976006 679508
1359700 9015214 898fae vmlinux
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Print a one-time message (analogous to WARN_ONCE() et al):
*/
#define printk_once(x...) ({ \
- static bool __print_once = true; \
+ static bool __print_once; \
\
- if (__print_once) { \
- __print_once = false; \
+ if (!__print_once) { \
+ __print_once = true; \
printk(x); \
} \
})