Only the last patch has changed since v1 to integrate review from peterz. Quote from the v1 summary:
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. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git softirq/mask-v2 HEAD: cce39c380f2dbe3e92db6a018c8ba65579c6311b 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(-)