From: John Ogness <john.ogness@linutronix.de> To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra <peterz@infradead.org>, Petr Mladek <pmladek@suse.com>, Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>, Steven Rostedt <rostedt@goodmis.org>, Linus Torvalds <torvalds@linux-foundation.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Andrea Parri <andrea.parri@amarulasolutions.com>, Thomas Gleixner <tglx@linutronix.de>, Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Subject: [RFC PATCH v2 0/2] printk: new ringbuffer implementation Date: Fri, 7 Jun 2019 18:29:47 +0206 Message-ID: <20190607162349.18199-1-john.ogness@linutronix.de> (raw) Hello, This is a follow-up RFC on the work to reimplement much of the core of printk. The original thread can be seen here[0]. One of the results of that thread was that the work needs to be broken up into several pieces. A roadmap was laid out[1] and this RFC is for the base component of the first piece: a new ringbuffer implementation for printk. This series does not touch any existing printk code. It is only the ringbuffer implementation. I am particularly interested in feedback relating to the design of the ringbuffer and the use of memory barriers. The series also includes a test module that performs some heavy writer stress testing. I have successfully run these tests on a 16-core ARM64 platform. John Ogness [0] https://lkml.kernel.org/r/20190212143003.48446-1-john.ogness@linutronix.de [1] https://lkml.kernel.org/r/87y35hn6ih.fsf@linutronix.de John Ogness (2): printk-rb: add a new printk ringbuffer implementation printk-rb: add test module Documentation/core-api/index.rst | 1 + Documentation/core-api/printk-ringbuffer.rst | 104 +++ include/linux/printk_ringbuffer.h | 238 +++++++ lib/Makefile | 2 + lib/printk_ringbuffer.c | 924 +++++++++++++++++++++++++++ lib/test_prb.c | 237 +++++++ 6 files changed, 1506 insertions(+) create mode 100644 Documentation/core-api/printk-ringbuffer.rst create mode 100644 include/linux/printk_ringbuffer.h create mode 100644 lib/printk_ringbuffer.c create mode 100644 lib/test_prb.c -- 2.11.0
next reply index Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-07 16:23 John Ogness [this message] 2019-06-07 16:23 ` [RFC PATCH v2 1/2] printk-rb: add a new printk " John Ogness 2019-06-18 4:51 ` Sergey Senozhatsky 2019-06-18 22:12 ` John Ogness 2019-06-25 6:45 ` Sergey Senozhatsky 2019-06-25 7:15 ` Sergey Senozhatsky 2019-06-25 8:44 ` John Ogness 2019-06-25 9:06 ` Petr Mladek 2019-06-25 10:03 ` Sergey Senozhatsky 2019-06-25 12:03 ` John Ogness 2019-06-26 2:08 ` Sergey Senozhatsky 2019-06-26 7:16 ` John Ogness 2019-06-26 7:45 ` Sergey Senozhatsky 2019-06-26 7:47 ` Petr Mladek 2019-06-26 7:59 ` Sergey Senozhatsky 2019-06-25 9:09 ` Sergey Senozhatsky 2019-06-18 11:12 ` Peter Zijlstra 2019-06-18 22:18 ` John Ogness 2019-06-18 11:22 ` Peter Zijlstra 2019-06-18 22:30 ` John Ogness 2019-06-19 10:46 ` Andrea Parri 2019-06-20 22:50 ` John Ogness 2019-06-21 12:16 ` Andrea Parri 2019-06-19 11:08 ` Peter Zijlstra 2019-06-18 11:47 ` Peter Zijlstra 2019-06-20 22:23 ` John Ogness 2019-06-26 22:40 ` Peter Zijlstra 2019-06-26 22:53 ` Peter Zijlstra 2019-06-28 9:50 ` John Ogness 2019-06-28 15:44 ` Peter Zijlstra 2019-06-28 16:07 ` Peter Zijlstra 2019-07-01 10:39 ` John Ogness 2019-07-01 14:10 ` Peter Zijlstra 2019-07-01 14:11 ` Peter Zijlstra 2019-06-29 21:05 ` Andrea Parri 2019-06-30 2:03 ` John Ogness 2019-06-30 14:08 ` Andrea Parri 2019-07-02 14:13 ` John Ogness 2019-06-26 22:47 ` Peter Zijlstra 2019-06-21 14:05 ` Petr Mladek 2019-06-24 8:33 ` John Ogness 2019-06-24 14:09 ` Petr Mladek 2019-06-25 13:29 ` John Ogness 2019-06-26 8:29 ` Petr Mladek 2019-06-26 9:09 ` John Ogness 2019-06-26 21:16 ` Peter Zijlstra 2019-06-26 21:43 ` John Ogness 2019-06-27 8:28 ` Petr Mladek 2019-07-04 10:33 ` [PATCH POC] printk_ringbuffer: Alternative implementation of lockless printk ringbuffer Petr Mladek 2019-07-04 14:59 ` John Ogness 2019-07-08 15:23 ` Petr Mladek 2019-07-09 1:34 ` John Ogness 2019-07-09 9:06 ` Petr Mladek 2019-07-09 10:21 ` John Ogness 2019-07-09 11:58 ` Petr Mladek 2019-08-14 3:46 ` John Ogness 2019-06-24 13:55 ` [RFC PATCH v2 1/2] printk-rb: add a new printk ringbuffer implementation John Ogness 2019-06-25 8:55 ` Sergey Senozhatsky 2019-06-25 9:19 ` John Ogness 2019-06-07 16:23 ` [RFC PATCH v2 2/2] printk-rb: add test module John Ogness 2019-06-17 21:09 ` [RFC PATCH v2 0/2] printk: new ringbuffer implementation Thomas Gleixner 2019-06-18 7:15 ` Petr Mladek
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190607162349.18199-1-john.ogness@linutronix.de \ --to=john.ogness@linutronix.de \ --cc=andrea.parri@amarulasolutions.com \ --cc=gregkh@linuxfoundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=peterz@infradead.org \ --cc=pmladek@suse.com \ --cc=rostedt@goodmis.org \ --cc=sergey.senozhatsky.work@gmail.com \ --cc=sergey.senozhatsky@gmail.com \ --cc=tglx@linutronix.de \ --cc=torvalds@linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git