[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201113140207.499353218@linutronix.de>
Date: Fri, 13 Nov 2020 15:02:07 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Frederic Weisbecker <frederic@...nel.org>,
Paul McKenney <paulmck@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Arnd Bergmann <arnd@...db.de>,
"James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
Helge Deller <deller@....de>, linux-parisc@...r.kernel.org,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Rich Felker <dalias@...c.org>, linux-sh@...r.kernel.org,
Jeff Dike <jdike@...toit.com>,
Richard Weinberger <richard@....at>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
linux-um@...ts.infradead.org, Russell King <linux@...linux.org.uk>,
Marc Zyngier <maz@...nel.org>,
Valentin Schneider <valentin.schneider@....com>,
linux-arm-kernel@...ts.infradead.org,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>
Subject: [patch 00/19] softirq: Cleanups and RT awareness
RT runs softirq processing always in thread context and it requires that
both the softirq execution and the BH disabled sections are preemptible.
This is achieved by serialization through per CPU local locks and
substituting a few parts of the existing softirq processing code with
helper functions.
The following series has two parts:
1) Cleanup irq_cpustats and consolidation of the preempt count maze
so softirq_count() and related parts can be substituted for RT
2) The actual core implementation including the required fixups for
NOHZ, RCU and tasklets.
The series is also available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git softirq
The RT variant has sucessfully been tested in the current 5.10-rt
patches. For non-RT kernels there is no functional change.
Thanks,
tglx
---
b/arch/arm/include/asm/hardirq.h | 11
b/arch/arm/include/asm/irq.h | 2
b/arch/arm64/include/asm/hardirq.h | 7
b/arch/parisc/include/asm/hardirq.h | 1
b/arch/sh/include/asm/hardirq.h | 14 -
b/arch/sh/kernel/irq.c | 2
b/arch/sh/kernel/traps.c | 2
b/arch/um/include/asm/hardirq.h | 17 -
b/include/asm-generic/hardirq.h | 6
b/include/linux/bottom_half.h | 8
b/include/linux/hardirq.h | 1
b/include/linux/interrupt.h | 13 -
b/include/linux/preempt.h | 36 +--
b/include/linux/rcupdate.h | 3
b/include/linux/sched.h | 3
b/kernel/softirq.c | 412 ++++++++++++++++++++++++++++++------
b/kernel/time/tick-sched.c | 2
include/linux/irq_cpustat.h | 28 --
18 files changed, 405 insertions(+), 163 deletions(-)
Powered by blists - more mailing lists