All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/2] printk: Shared kernel logging
@ 2016-09-30  0:55 Sean Hudson
  2016-09-30  0:55 ` [RFC PATCH v1 1/2] printk: collect offsets into replaceable structure Sean Hudson
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Sean Hudson @ 2016-09-30  0:55 UTC (permalink / raw)
  To: linux-kernel
  Cc: Sean Hudson, Andrew Morton, Thomas Gleixner, Yang Shi,
	Ingo Molnar, Prarit Bhargava, Rasmus Villemoes, Paul E. McKenney,
	Yaowei Bai, Kees Cook, Andrey Ryabinin, Johannes Weiner,
	Tejun Heo, Arnd Bergmann, Ard Biesheuvel, Thomas Garnier,
	Petr Mladek, Nicolas Pitre, Sergey Senozhatsky, Borislav Petkov,
	Tim Bird, Steven Rostedt, Grant Likely

This patch set is based on Linus' v4.8-rc8 tag.

This debug feature allows the kernel to use an external buffer and control
block for kernel log messages. The feature is controlled by an optional
command line parameter. The existing buffer and control block can contain
existing log messages from previous boot cycles and/or the bootloader. The
command line parameter was chosen for flexibility, cross arch portability,
and the ability to dynamically enable/disable this feature. The parameter
specifies the address of a control block used to replace the default log
buffer. Existing bootloader and kernel log messages are kept, in order,
inside the new buffer. After a boot that preserves the buffer contents, a
bootloader can display both kernel and bootloader log entries from multiple,
previous boots. It also allows the kernel to display bootloader log entries
along with its own messages.

This feature is intended for debug purposes and has no effect unless the
command line parameter is specified. Further, it validates the passed
control block carefully and if any checks fail, it falls back to the default
behaviour. As such, it can be left enabled by default.

Memory Reservation

This feature expects the bootloader to reserve/preserve the shared buffer
memory. This reservation needs to prevent the kernel from overwriting the
external log control block and log entries. In my testing, I've used the
'fdt' commands in uboot to dynamically inject reserved memory regions via
the DT to the kernel.

Sean Hudson (2):
  printk: collect offsets into replaceable structure
  printk: external log buffer (CONFIG_LOGBUFFER)

 init/Kconfig           |  12 +
 init/main.c            |   2 +
 kernel/printk/printk.c | 598 +++++++++++++++++++++++++++++++++++--------------
 3 files changed, 445 insertions(+), 167 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-10-14  9:52 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-30  0:55 [RFC PATCH v1 0/2] printk: Shared kernel logging Sean Hudson
2016-09-30  0:55 ` [RFC PATCH v1 1/2] printk: collect offsets into replaceable structure Sean Hudson
2016-09-30  0:55 ` [RFC PATCH v1 2/2] printk: external log buffer (CONFIG_LOGBUFFER) Sean Hudson
2016-09-30 12:39   ` Petr Mladek
2016-10-01  4:06     ` Sean Hudson
2016-10-04 11:27       ` Petr Mladek
2016-10-04 17:55         ` Sean Hudson
2016-10-05 12:48           ` Petr Mladek
2016-10-12  1:12             ` Sean Hudson
2016-10-14  9:52               ` Petr Mladek
2016-09-30  1:36 ` [RFC PATCH v1 0/2] printk: Shared kernel logging Kees Cook
2016-10-01  1:56   ` Sean Hudson
2016-10-01  2:42     ` Kees Cook
2016-10-04 21:08 ` [RFC PATCH v2 " Sean Hudson
2016-10-04 21:08   ` [RFC PATCH v2 1/2] printk: collect offsets into replaceable structure Sean Hudson
2016-10-04 21:08   ` [RFC PATCH v2 2/2] printk: external log buffer (CONFIG_LOGBUFFER) Sean Hudson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.