[GIT PULL] softirq: Consolidate and optimize softirq mask v3

From: Frederic Weisbecker
Date: Tue Apr 24 2018 - 10:09:37 EST


Thomas, Ingo,

Please pull the softirq/mask-v3 branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
softirq/mask-v3

HEAD: e225bb16aa5eb0ab83ddd0de423aca3057b1cfee

(No change since last version, just a rebase against v4.17-rc1 and
add acks from Michael Ellerman)

--
The softirq mask and its accessors/mutators have many implementations
scattered around many architectures. Most do the same things consisting
in a field in a per-cpu struct (often irq_cpustat_t) accessed through
per-cpu ops. We can provide instead a generic efficient version that
most of them can use. In fact s390 is the only exception because the
field is stored in lowcore.

Thanks,
Frederic
---

Frederic Weisbecker (10):
ia64: Convert local_softirq_pending() to per-cpu ops
sparc: Convert local_softirq_pending() to use per-cpu op
softirq: Turn default irq_cpustat_t to standard per-cpu
softirq: Consolidate default local_softirq_pending() implementations
ia64: Switch to generic local_softirq_pending() implementation
parisc: Switch to generic local_softirq_pending() implementation
powerpc: Switch to generic local_softirq_pending() implementation
sparc: Switch to generic local_softirq_pending() implementation
x86: Switch to generic local_softirq_pending() implementation
softirq/s390: Move default mutators of overwritten softirq mask to s390


arch/ia64/include/asm/hardirq.h | 2 +-
arch/parisc/include/asm/hardirq.h | 8 --------
arch/powerpc/include/asm/hardirq.h | 7 -------
arch/s390/include/asm/hardirq.h | 2 ++
arch/sparc/include/asm/hardirq_64.h | 5 +++--
arch/x86/include/asm/hardirq.h | 8 --------
include/linux/interrupt.h | 13 ++++++++++---
include/linux/irq_cpustat.h | 10 +++-------
kernel/softirq.c | 4 ++--
9 files changed, 21 insertions(+), 38 deletions(-)