From: Mike Galbraith <mgalbraith@suse.de>
Date: Wed Aug 2 10:55:41 CEST 2017
Subject: sched: use inlined __preempt_count_add/sum() in irq_enter/exit()
Patch-mainline: Never, RT specific
References: SLE Realtime Extension
Signed-off-by: Mike Galbraith <mgalbraith@suse.de>
---
include/linux/hardirq.h | 8 ++++----
kernel/softirq.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -35,7 +35,7 @@ extern void rcu_nmi_exit(void);
#define __irq_enter() \
do { \
account_irq_enter_time(current); \
- preempt_count_add(HARDIRQ_OFFSET); \
+ __preempt_count_add(HARDIRQ_OFFSET); \
trace_hardirq_enter(); \
} while (0)
@@ -51,7 +51,7 @@ extern void irq_enter(void);
do { \
trace_hardirq_exit(); \
account_irq_exit_time(current); \
- preempt_count_sub(HARDIRQ_OFFSET); \
+ __preempt_count_sub(HARDIRQ_OFFSET); \
} while (0)
/*
@@ -65,7 +65,7 @@ extern void irq_exit(void);
lockdep_off(); \
ftrace_nmi_enter(); \
BUG_ON(in_nmi()); \
- preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
+ __preempt_count_add(NMI_OFFSET + HARDIRQ_OFFSET); \
rcu_nmi_enter(); \
trace_hardirq_enter(); \
} while (0)
@@ -75,7 +75,7 @@ extern void irq_exit(void);
trace_hardirq_exit(); \
rcu_nmi_exit(); \
BUG_ON(!in_nmi()); \
- preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
+ __preempt_count_sub(NMI_OFFSET + HARDIRQ_OFFSET); \
ftrace_nmi_exit(); \
lockdep_on(); \
printk_nmi_exit(); \
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -834,7 +834,7 @@ void irq_exit(void)
lockdep_assert_irqs_disabled();
#endif
account_irq_exit_time(current);
- preempt_count_sub(HARDIRQ_OFFSET);
+ __preempt_count_sub(HARDIRQ_OFFSET);
if (!in_interrupt() && local_softirq_pending())
invoke_softirq();