Messages in this thread Patch in this message | | | Date | Tue, 5 Jan 2016 00:28:32 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH] printk: add cpu number to the recursion_msg message |
| |
On (01/05/16 00:11), Sergey Senozhatsky wrote: > `recursion_bug' occupies 4 bytes to just tell us there was a recent > recursion bug (basically 'bool'). Make it a bit more informative and > keep in `recursion_bug' smp_processor_id of the CPU (the most recent > one) that has caused a recursive printk bug. For instance, the error > message will change from > BUG: recent printk recursion! > to > BUG: recent printk recursion on CPU5! >
on the other hand -- no, this is silly. disregard, sorry. It's just my setup that confused me.
but I think we can change `recursion_bug' type to `bool'. what do you think?
===8<===8<===
From d772453988289efc3bae5598c3c12c6e7ffb801a Mon Sep 17 00:00:00 2001 From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Date: Tue, 5 Jan 2016 00:21:17 +0900 Subject: [PATCH] printk: change recursion_bug type to bool
`recursion_bug' is used as recursion_bug toggle, so make it `bool'.
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> --- kernel/printk/printk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 1fc89ba..d0b8697 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1662,7 +1662,7 @@ asmlinkage int vprintk_emit(int facility, int level, const char *dict, size_t dictlen, const char *fmt, va_list args) { - static int recursion_bug; + static bool recursion_bug; static char textbuf[LOG_LINE_MAX]; char *text = textbuf; size_t text_len = 0; @@ -1699,7 +1699,7 @@ asmlinkage int vprintk_emit(int facility, int level, * it can be printed at the next appropriate moment: */ if (!oops_in_progress && !lockdep_recursing(current)) { - recursion_bug = 1; + recursion_bug = true; local_irq_restore(flags); return 0; } @@ -1714,7 +1714,7 @@ asmlinkage int vprintk_emit(int facility, int level, static const char recursion_msg[] = "BUG: recent printk recursion!"; - recursion_bug = 0; + recursion_bug = false; /* emit KERN_CRIT message */ printed_len += log_store(0, 2, LOG_PREFIX|LOG_NEWLINE, 0, NULL, 0, recursion_msg, -- 2.7.0.rc0.20.g4b9ab0e
| |