Messages in this thread Patch in this message | | | From | Frederic Weisbecker <> | Subject | [RFC PATCH 03/30] softirq: Implement local_softirq_pending() below softirq vector definition | Date | Thu, 11 Oct 2018 01:11:50 +0200 |
| |
The future extensions of this API are going to depend on the vector definitions. So order the code accordingly.
Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: David S. Miller <davem@davemloft.net> Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> --- include/linux/interrupt.h | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 5888545..1de87ec 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -432,18 +432,6 @@ extern bool force_irqthreads; #define force_irqthreads (0) #endif -#ifndef local_softirq_pending - -#ifndef local_softirq_data_ref -#define local_softirq_data_ref irq_stat.__softirq_data -#endif - -#define local_softirq_pending() (__this_cpu_read(local_softirq_data_ref)) -#define set_softirq_pending(x) (__this_cpu_write(local_softirq_data_ref, (x))) -#define or_softirq_pending(x) (__this_cpu_or(local_softirq_data_ref, (x))) - -#endif /* local_softirq_pending */ - /* Some architectures might implement lazy enabling/disabling of * interrupts. In some cases, such as stop_machine, we might want * to ensure that after a local_irq_disable(), interrupts have @@ -479,6 +467,19 @@ enum #define SOFTIRQ_STOP_IDLE_MASK (~(1 << RCU_SOFTIRQ)) +#ifndef local_softirq_pending + +#ifndef local_softirq_data_ref +#define local_softirq_data_ref irq_stat.__softirq_data +#endif + +#define local_softirq_pending() (__this_cpu_read(local_softirq_data_ref)) +#define set_softirq_pending(x) (__this_cpu_write(local_softirq_data_ref, (x))) +#define or_softirq_pending(x) (__this_cpu_or(local_softirq_data_ref, (x))) + +#endif /* local_softirq_pending */ + + /* map softirq index to softirq name. update 'softirq_to_name' in * kernel/softirq.c when adding a new softirq. */ -- 2.7.4
| |