Subject: + printk-report-dropping-of-messages-from-logbuf.patch added to -mm tree To: will.deacon@xxxxxxx,jack@xxxxxxx,kay@xxxxxxxx,peterz@xxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Fri, 02 May 2014 14:22:21 -0700 The patch titled Subject: printk: report dropping of messages from logbuf has been added to the -mm tree. Its filename is printk-report-dropping-of-messages-from-logbuf.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/printk-report-dropping-of-messages-from-logbuf.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/printk-report-dropping-of-messages-from-logbuf.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Will Deacon <will.deacon@xxxxxxx> Subject: printk: report dropping of messages from logbuf If the log ring buffer becomes full, we silently overwrite old messages with new data. console_unlock will detect this case and fast-forward the console_* pointers to skip over the corrupted data, but nothing will be reported to the user. This patch hijacks the first valid log message after detecting that we dropped messages and prefixes it with a note detailing how many messages were dropped. For long (~1000 char) messages, this will result in some truncation of the real message, but given that we're dropping things anyway, that doesn't seem to be the end of the world. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Kay Sievers <kay@xxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/printk/printk.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff -puN kernel/printk/printk.c~printk-report-dropping-of-messages-from-logbuf kernel/printk/printk.c --- a/kernel/printk/printk.c~printk-report-dropping-of-messages-from-logbuf +++ a/kernel/printk/printk.c @@ -2160,10 +2160,15 @@ again_noirq: } if (console_seq < log_first_seq) { + len = sprintf(text, "** %u printk messages dropped ** ", + (unsigned)(log_first_seq - console_seq)); + /* messages are gone, move to first one */ console_seq = log_first_seq; console_idx = log_first_idx; console_prev = 0; + } else { + len = 0; } skip: if (console_seq == log_next_seq) @@ -2188,8 +2193,8 @@ skip: } level = msg->level; - len = msg_print_text(msg, console_prev, false, - text, sizeof(text)); + len += msg_print_text(msg, console_prev, false, + text + len, sizeof(text) - len); console_idx = log_next(console_idx); console_seq++; console_prev = msg->flags; _ Patches currently in -mm which might be from will.deacon@xxxxxxx are origin.patch printk-print-initial-logbuf-contents-before-re-enabling-interrupts.patch printk-report-dropping-of-messages-from-logbuf.patch documentation-devicetree-bindings-add-documentation-for-the-apm-x-gene-soc-rtc-dts-binding.patch drivers-rtc-add-apm-x-gene-soc-rtc-driver.patch arm64-add-apm-x-gene-soc-rtc-dts-entry.patch linux-next.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html