powerpc/irq: Move __softirq_pending out of irq_stat

__softirq_pending isn't part of arch specific irq_stats. It is used
by softirq core for various decision making such as whether to kick off
ksoftirqd.

Move it out of irq_cpustat_t. This makes it simple to make irq_cpustat_t
array based approach.

Reviewed-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20260921090153.54745-2-sshegde@linux.ibm.com
This commit is contained in:
Shrikanth Hegde 2026-09-21 14:31:51 +05:30 committed by Madhavan Srinivasan
parent a7ea67879a
commit adc7dcd36f
2 changed files with 3 additions and 1 deletions

View File

@ -6,7 +6,6 @@
#include <linux/irq.h>
typedef struct {
unsigned int __softirq_pending;
unsigned int timer_irqs_event;
unsigned int broadcast_irqs_event;
unsigned int timer_irqs_others;
@ -23,6 +22,8 @@ typedef struct {
} ____cacheline_aligned irq_cpustat_t;
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
DECLARE_PER_CPU(unsigned int, __softirq_pending);
#define local_softirq_pending_ref __softirq_pending
#define __ARCH_IRQ_STAT
#define __ARCH_IRQ_EXIT_IRQS_DISABLED

View File

@ -73,6 +73,7 @@
DEFINE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
EXPORT_PER_CPU_SYMBOL(irq_stat);
DEFINE_PER_CPU(unsigned int, __softirq_pending);
#ifdef CONFIG_PPC32
atomic_t ppc_n_lost_interrupts;