All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH printk-rework 00/14] printk: remove logbuf_lock
@ 2021-02-18  8:18 John Ogness
  2021-02-18  8:18 ` [PATCH printk-rework 01/14] printk: limit second loop of syslog_print_all John Ogness
                   ` (13 more replies)
  0 siblings, 14 replies; 43+ messages in thread
From: John Ogness @ 2021-02-18  8:18 UTC (permalink / raw)
  To: Petr Mladek
  Cc: Sergey Senozhatsky, Sergey Senozhatsky, Steven Rostedt,
	Thomas Gleixner, linux-kernel

Hello,

Here is v2 of a series to remove @logbuf_lock, exposing the
ringbuffer locklessly to both readers and writers. v1 is here [0].

Since @logbuf_lock was protecting much more than just the
ringbuffer, this series clarifies and cleans up the various
protections using comments, lockless accessors, atomic types, and a
new finer-grained @syslog_log.

Changes since v1:

- handle the syslog_print_all() size calculation issue in a separate
  patch (patch 1)

- use a local printk_info for find_first_fitting_seq()

- define CONSOLE_LOG_MAX in printk.c instead of printk.h since it is
  not used outside of printk.c

- increase CONSOLE_LOG_MAX to 4096 to support long multi-line
  records

- add a wrapper function read_syslog_seq_irq() for getting a
  consistent @syslog_seq value (only used in do_syslog())

- drop the "hv: synchronize kmsg_dumper" patch

- in "remove logbuf_lock" only change to safe buffer usage

- fixup safe buffer usage and redundance in separate patches
  (patches 13 and 14)

- update comments and commit messages as requested

John Ogness

[0] https://lkml.kernel.org/r/20210126211551.26536-1-john.ogness@linutronix.de

John Ogness (14):
  printk: limit second loop of syslog_print_all
  printk: kmsg_dump: remove unused fields
  printk: refactor kmsg_dump_get_buffer()
  printk: consolidate kmsg_dump_get_buffer/syslog_print_all code
  printk: introduce CONSOLE_LOG_MAX for improved multi-line support
  printk: use seqcount_latch for clear_seq
  printk: use atomic64_t for devkmsg_user.seq
  printk: add syslog_lock
  printk: introduce a kmsg_dump iterator
  um: synchronize kmsg_dumper
  printk: remove logbuf_lock
  printk: kmsg_dump: remove _nolock() variants
  printk: kmsg_dump: use kmsg_dump_rewind
  printk: console: remove unnecessary safe buffer usage

 arch/powerpc/kernel/nvram_64.c             |  12 +-
 arch/powerpc/platforms/powernv/opal-kmsg.c |   3 +-
 arch/powerpc/xmon/xmon.c                   |   6 +-
 arch/um/kernel/kmsg_dump.c                 |  13 +-
 drivers/hv/vmbus_drv.c                     |   5 +-
 drivers/mtd/mtdoops.c                      |   5 +-
 fs/pstore/platform.c                       |   5 +-
 include/linux/kmsg_dump.h                  |  52 +--
 kernel/debug/kdb/kdb_main.c                |  10 +-
 kernel/printk/internal.h                   |   4 +-
 kernel/printk/printk.c                     | 454 +++++++++++----------
 kernel/printk/printk_safe.c                |  29 +-
 12 files changed, 298 insertions(+), 300 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2021-02-26  9:50 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-18  8:18 [PATCH printk-rework 00/14] printk: remove logbuf_lock John Ogness
2021-02-18  8:18 ` [PATCH printk-rework 01/14] printk: limit second loop of syslog_print_all John Ogness
2021-02-18 16:15   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 02/14] printk: kmsg_dump: remove unused fields John Ogness
2021-02-18 16:18   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 03/14] printk: refactor kmsg_dump_get_buffer() John Ogness
2021-02-18  8:18 ` [PATCH printk-rework 04/14] printk: consolidate kmsg_dump_get_buffer/syslog_print_all code John Ogness
2021-02-19 12:28   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 05/14] printk: introduce CONSOLE_LOG_MAX for improved multi-line support John Ogness
2021-02-19 12:44   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 06/14] printk: use seqcount_latch for clear_seq John Ogness
2021-02-18  8:18 ` [PATCH printk-rework 07/14] printk: use atomic64_t for devkmsg_user.seq John Ogness
2021-02-19 12:59   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 08/14] printk: add syslog_lock John Ogness
2021-02-19 13:30   ` Petr Mladek
2021-02-19 14:45     ` John Ogness
2021-02-19 16:33       ` John Ogness
2021-02-21 21:39         ` Helge Deller
2021-02-22 16:28           ` Petr Mladek
2021-02-23 12:22             ` Helge Deller
2021-02-23 14:23               ` Petr Mladek
2021-02-23 14:45                 ` Helge Deller
2021-02-22 16:05       ` Petr Mladek
2021-02-22 16:43         ` John Ogness
2021-02-23 14:38           ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 09/14] printk: introduce a kmsg_dump iterator John Ogness
2021-02-19 15:56   ` Petr Mladek
2021-02-19 16:50   ` Michael Kelley
2021-02-19 17:57   ` synchronization model: was: " Petr Mladek
2021-02-24 12:27     ` John Ogness
2021-02-24 15:40       ` John Ogness
2021-02-25 12:33       ` Petr Mladek
2021-02-26  8:36         ` John Ogness
2021-02-26  9:48           ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 10/14] um: synchronize kmsg_dumper John Ogness
2021-02-18  8:18 ` [PATCH printk-rework 11/14] printk: remove logbuf_lock John Ogness
2021-02-23 11:44   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 12/14] printk: kmsg_dump: remove _nolock() variants John Ogness
2021-02-23 11:51   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 13/14] printk: kmsg_dump: use kmsg_dump_rewind John Ogness
2021-02-23 11:53   ` Petr Mladek
2021-02-18  8:18 ` [PATCH printk-rework 14/14] printk: console: remove unnecessary safe buffer usage John Ogness
2021-02-23 12:55   ` Petr Mladek

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.