Searched hist:"6 b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0" (Results 1 – 5 of 5) sorted by relevance
/linux/kernel/printk/ |
H A D | nbcon.c | 6b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0 Sat Sep 16 21:20:00 CEST 2023 Thomas Gleixner <tglx@linutronix.de> printk: Add non-BKL (nbcon) console basic infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock, (aka console_lock) which has ill defined semantics and is more or less stateless. This puts severe limitations on the console subsystem and makes forced takeover and output in emergency and panic situations a fragile endeavour that is based on try and pray.
The goal of non-BKL (nbcon) consoles is to break out of the console lock jail and to provide a new infrastructure that avoids the pitfalls and also allows console drivers to be gradually converted over.
The proposed infrastructure aims for the following properties:
- Per console locking instead of global locking - Per console state that allows to make informed decisions - Stateful handover and takeover
As a first step, state is added to struct console. The per console state is an atomic_t using a 32bit bit field.
Reserve state bits, which will be populated later in the series. Wire it up into the console register/unregister functionality.
It was decided to use a bitfield because using a plain u32 with mask/shift operations resulted in uncomprehensible code.
Co-developed-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Thomas Gleixner (Intel) <tglx@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230916192007.608398-2-john.ogness@linutronix.de
|
H A D | Makefile | diff 6b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0 Sat Sep 16 21:20:00 CEST 2023 Thomas Gleixner <tglx@linutronix.de> printk: Add non-BKL (nbcon) console basic infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock, (aka console_lock) which has ill defined semantics and is more or less stateless. This puts severe limitations on the console subsystem and makes forced takeover and output in emergency and panic situations a fragile endeavour that is based on try and pray.
The goal of non-BKL (nbcon) consoles is to break out of the console lock jail and to provide a new infrastructure that avoids the pitfalls and also allows console drivers to be gradually converted over.
The proposed infrastructure aims for the following properties:
- Per console locking instead of global locking - Per console state that allows to make informed decisions - Stateful handover and takeover
As a first step, state is added to struct console. The per console state is an atomic_t using a 32bit bit field.
Reserve state bits, which will be populated later in the series. Wire it up into the console register/unregister functionality.
It was decided to use a bitfield because using a plain u32 with mask/shift operations resulted in uncomprehensible code.
Co-developed-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Thomas Gleixner (Intel) <tglx@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230916192007.608398-2-john.ogness@linutronix.de
|
H A D | internal.h | diff 6b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0 Sat Sep 16 21:20:00 CEST 2023 Thomas Gleixner <tglx@linutronix.de> printk: Add non-BKL (nbcon) console basic infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock, (aka console_lock) which has ill defined semantics and is more or less stateless. This puts severe limitations on the console subsystem and makes forced takeover and output in emergency and panic situations a fragile endeavour that is based on try and pray.
The goal of non-BKL (nbcon) consoles is to break out of the console lock jail and to provide a new infrastructure that avoids the pitfalls and also allows console drivers to be gradually converted over.
The proposed infrastructure aims for the following properties:
- Per console locking instead of global locking - Per console state that allows to make informed decisions - Stateful handover and takeover
As a first step, state is added to struct console. The per console state is an atomic_t using a 32bit bit field.
Reserve state bits, which will be populated later in the series. Wire it up into the console register/unregister functionality.
It was decided to use a bitfield because using a plain u32 with mask/shift operations resulted in uncomprehensible code.
Co-developed-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Thomas Gleixner (Intel) <tglx@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230916192007.608398-2-john.ogness@linutronix.de
|
H A D | printk.c | diff 6b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0 Sat Sep 16 21:20:00 CEST 2023 Thomas Gleixner <tglx@linutronix.de> printk: Add non-BKL (nbcon) console basic infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock, (aka console_lock) which has ill defined semantics and is more or less stateless. This puts severe limitations on the console subsystem and makes forced takeover and output in emergency and panic situations a fragile endeavour that is based on try and pray.
The goal of non-BKL (nbcon) consoles is to break out of the console lock jail and to provide a new infrastructure that avoids the pitfalls and also allows console drivers to be gradually converted over.
The proposed infrastructure aims for the following properties:
- Per console locking instead of global locking - Per console state that allows to make informed decisions - Stateful handover and takeover
As a first step, state is added to struct console. The per console state is an atomic_t using a 32bit bit field.
Reserve state bits, which will be populated later in the series. Wire it up into the console register/unregister functionality.
It was decided to use a bitfield because using a plain u32 with mask/shift operations resulted in uncomprehensible code.
Co-developed-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Thomas Gleixner (Intel) <tglx@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230916192007.608398-2-john.ogness@linutronix.de
|
/linux/include/linux/ |
H A D | console.h | diff 6b93bb41f6eaa1cc5c5f30ec3b687b380f116cd0 Sat Sep 16 21:20:00 CEST 2023 Thomas Gleixner <tglx@linutronix.de> printk: Add non-BKL (nbcon) console basic infrastructure
The current console/printk subsystem is protected by a Big Kernel Lock, (aka console_lock) which has ill defined semantics and is more or less stateless. This puts severe limitations on the console subsystem and makes forced takeover and output in emergency and panic situations a fragile endeavour that is based on try and pray.
The goal of non-BKL (nbcon) consoles is to break out of the console lock jail and to provide a new infrastructure that avoids the pitfalls and also allows console drivers to be gradually converted over.
The proposed infrastructure aims for the following properties:
- Per console locking instead of global locking - Per console state that allows to make informed decisions - Stateful handover and takeover
As a first step, state is added to struct console. The per console state is an atomic_t using a 32bit bit field.
Reserve state bits, which will be populated later in the series. Wire it up into the console register/unregister functionality.
It was decided to use a bitfield because using a plain u32 with mask/shift operations resulted in uncomprehensible code.
Co-developed-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Thomas Gleixner (Intel) <tglx@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20230916192007.608398-2-john.ogness@linutronix.de
|