linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 00/19] softirq: Cleanups and RT awareness
@ 2020-11-13 14:02 Thomas Gleixner
  2020-11-13 14:02 ` [patch 01/19] parisc: Remove bogus __IRQ_STAT macro Thomas Gleixner
                   ` (18 more replies)
  0 siblings, 19 replies; 51+ messages in thread
From: Thomas Gleixner @ 2020-11-13 14:02 UTC (permalink / raw)
  To: LKML
  Cc: Peter Zijlstra, Frederic Weisbecker, Paul McKenney,
	Sebastian Andrzej Siewior, Arnd Bergmann, James E.J. Bottomley,
	Helge Deller, linux-parisc, Yoshinori Sato, Rich Felker,
	linux-sh, Jeff Dike, Richard Weinberger, Anton Ivanov, linux-um,
	Russell King, Marc Zyngier, Valentin Schneider, linux-arm-kernel,
	Catalin Marinas, Will Deacon

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(-)







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

end of thread, other threads:[~2021-01-01 14:29 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 14:02 [patch 00/19] softirq: Cleanups and RT awareness Thomas Gleixner
2020-11-13 14:02 ` [patch 01/19] parisc: Remove bogus __IRQ_STAT macro Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 02/19] sh: Get rid of nmi_count() Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2021-01-01 14:27   ` [patch 02/19] " John Paul Adrian Glaubitz
2020-11-13 14:02 ` [patch 03/19] irqstat: Get rid of nmi_count() and __IRQ_STAT() Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 04/19] um/irqstat: Get rid of the duplicated declarations Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 05/19] ARM: irqstat: Get rid of duplicated declaration Thomas Gleixner
2020-11-16 18:19   ` Valentin Schneider
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 06/19] arm64: " Thomas Gleixner
2020-11-16 10:01   ` Will Deacon
2020-11-16 10:51   ` Marc Zyngier
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 07/19] asm-generic/irqstat: Add optional __nmi_count member Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 08/19] sh: irqstat: Use the generic irq_cpustat_t Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 09/19] irqstat: Move declaration into asm-generic/hardirq.h Thomas Gleixner
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 10/19] preempt: Cleanup the macro maze a bit Thomas Gleixner
2020-11-16 12:17   ` Peter Zijlstra
2020-11-16 17:42     ` Thomas Gleixner
2020-11-17 10:21       ` Peter Zijlstra
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 11/19] softirq: Move related code into one section Thomas Gleixner
2020-11-19 12:20   ` Frederic Weisbecker
2020-11-23 22:51   ` [tip: irq/core] " tip-bot2 for Thomas Gleixner
2020-11-13 14:02 ` [patch 12/19] softirq: Add RT specific softirq accounting Thomas Gleixner
2020-11-19 12:18   ` Frederic Weisbecker
2020-11-19 18:34     ` Thomas Gleixner
2020-11-19 22:52       ` Frederic Weisbecker
2020-11-13 14:02 ` [patch 13/19] softirq: Move various protections into inline helpers Thomas Gleixner
2020-11-13 14:02 ` [patch 14/19] softirq: Make softirq control and processing RT aware Thomas Gleixner
2020-11-20  0:26   ` Frederic Weisbecker
2020-11-20 13:27     ` Thomas Gleixner
2020-11-23 13:44   ` Frederic Weisbecker
2020-11-23 19:27     ` Thomas Gleixner
2020-11-23 19:56       ` Frederic Weisbecker
2020-11-23 23:58       ` Frederic Weisbecker
2020-11-24  0:06         ` Thomas Gleixner
2020-11-24  0:13           ` Frederic Weisbecker
2020-11-24  0:22             ` Thomas Gleixner
2020-11-13 14:02 ` [patch 15/19] tick/sched: Prevent false positive softirq pending warnings on RT Thomas Gleixner
2020-11-13 14:02 ` [patch 16/19] rcu: Prevent false positive softirq warning " Thomas Gleixner
2020-11-13 14:02 ` [patch 17/19] softirq: Replace barrier() with cpu_relax() in tasklet_unlock_wait() Thomas Gleixner
2020-11-13 14:02 ` [patch 18/19] tasklets: Use static inlines for stub implementations Thomas Gleixner
2020-11-13 14:02 ` [patch 19/19] tasklets: Prevent kill/unlock_wait deadlock on RT Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).