softirq: Consolidate and optimize softirq mask v3
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(-)