Messages in this thread | | | From | Frederic Weisbecker <> | Subject | [GIT PULL v2] printk: Make it usable on nohz cpus | Date | Sun, 18 Nov 2012 02:04:43 +0100 |
| |
Ingo,
Please pull the printk support in dynticks mode patches that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git tags/printk-dynticks-for-mingo-v2
for you to fetch changes up to 74876a98a87a115254b3a66a14b27320b7f0acaa:
printk: Wake up klogd using irq_work (2012-11-18 01:01:49 +0100)
It is based on v3.7-rc4.
Changes since previous pull request include support for irq work flush on CPU offlining and acks from Steve. The rest hasn't changed except some comment fix.
Thanks.
---------------------------------------------------------------- Support for printk in dynticks mode:
* Fix two races in irq work claiming
* Generalize irq_work support to all archs
* Don't stop tick with irq works pending. This fix is generally useful and concerns archs that can't raise self IPIs.
* Flush irq works before CPU offlining.
* Introduce "lazy" irq works that can wait for the next tick to be executed, unless it's stopped.
* Implement klogd wake up using irq work. This removes the ad-hoc printk_tick()/printk_needs_cpu() hooks and make it working even in dynticks mode.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
---------------------------------------------------------------- Frederic Weisbecker (7): irq_work: Fix racy IRQ_WORK_BUSY flag setting irq_work: Fix racy check on work pending flag irq_work: Remove CONFIG_HAVE_IRQ_WORK nohz: Add API to check tick state irq_work: Don't stop the tick with pending works irq_work: Make self-IPIs optable printk: Wake up klogd using irq_work
Steven Rostedt (2): irq_work: Flush work on CPU_DYING irq_work: Warn if there's still work on cpu_down
arch/alpha/Kconfig | 1 - arch/arm/Kconfig | 1 - arch/arm64/Kconfig | 1 - arch/blackfin/Kconfig | 1 - arch/frv/Kconfig | 1 - arch/hexagon/Kconfig | 1 - arch/mips/Kconfig | 1 - arch/parisc/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/s390/Kconfig | 1 - arch/sh/Kconfig | 1 - arch/sparc/Kconfig | 1 - arch/x86/Kconfig | 1 - drivers/staging/iio/trigger/Kconfig | 1 - include/linux/irq_work.h | 20 ++++++ include/linux/printk.h | 3 - include/linux/tick.h | 17 ++++- init/Kconfig | 5 +- kernel/irq_work.c | 131 ++++++++++++++++++++++++++--------- kernel/printk.c | 36 +++++----- kernel/time/tick-sched.c | 7 +- kernel/timer.c | 1 - 22 files changed, 161 insertions(+), 73 deletions(-)
| |