| From: |
| Frederic Weisbecker <frederic-AT-kernel.org> |
| To: |
| Thomas Gleixner <tglx-AT-linutronix.de>, Ingo Molnar <mingo-AT-kernel.org> |
| Subject: |
| [GIT PULL] softirq: Consolidate and optimize softirq mask v3 |
| Date: |
| Tue, 24 Apr 2018 16:09:05 +0200 |
| Message-ID: |
| <1524578955-8903-1-git-send-email-frederic@kernel.org> |
| Cc: |
| LKML <linux-kernel-AT-vger.kernel.org>, Frederic Weisbecker <frederic-AT-kernel.org>, Sebastian Andrzej Siewior <bigeasy-AT-linutronix.de>, Tony Luck <tony.luck-AT-intel.com>, Peter Zijlstra <peterz-AT-infradead.org>, "David S . Miller" <davem-AT-davemloft.net>, Michael Ellerman <mpe-AT-ellerman.id.au>, Helge Deller <deller-AT-gmx.de>, Benjamin Herrenschmidt <benh-AT-kernel.crashing.org>, Paul Mackerras <paulus-AT-samba.org>, Martin Schwidefsky <schwidefsky-AT-de.ibm.com>, Fenghua Yu <fenghua.yu-AT-intel.com>, Heiko Carstens <heiko.carstens-AT-de.ibm.com>, "James E . J . Bottomley" <jejb-AT-parisc-linux.org> |
| Archive-link: |
| Article |
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(-)