|
|
Subscribe / Log in / New account

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


Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds