4 #include <linux/preempt.h>
5 #include <linux/preempt_mask.h>
7 #ifdef CONFIG_PREEMPT_RT_FULL
9 extern void local_bh_disable(void);
10 extern void _local_bh_enable(void);
11 extern void local_bh_enable(void);
12 extern void local_bh_enable_ip(unsigned long ip);
13 extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
14 extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
18 #ifdef CONFIG_TRACE_IRQFLAGS
19 extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
21 static __always_inline void __local_bh_disable_ip(unsigned long ip, unsigned int cnt)
23 preempt_count_add(cnt);
28 static inline void local_bh_disable(void)
30 __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
33 extern void _local_bh_enable(void);
34 extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
36 static inline void local_bh_enable_ip(unsigned long ip)
38 __local_bh_enable_ip(ip, SOFTIRQ_DISABLE_OFFSET);
41 static inline void local_bh_enable(void)
43 __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
47 #endif /* _LINUX_BH_H */