linux/include/linux/bottom_half.h
<<
>>
Prefs
   1#ifndef _LINUX_BH_H
   2#define _LINUX_BH_H
   3
   4#include <linux/preempt.h>
   5
   6#ifdef CONFIG_TRACE_IRQFLAGS
   7extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
   8#else
   9static __always_inline void __local_bh_disable_ip(unsigned long ip, unsigned int cnt)
  10{
  11        preempt_count_add(cnt);
  12        barrier();
  13}
  14#endif
  15
  16static inline void local_bh_disable(void)
  17{
  18        __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  19}
  20
  21extern void _local_bh_enable(void);
  22extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
  23
  24static inline void local_bh_enable_ip(unsigned long ip)
  25{
  26        __local_bh_enable_ip(ip, SOFTIRQ_DISABLE_OFFSET);
  27}
  28
  29static inline void local_bh_enable(void)
  30{
  31        __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  32}
  33
  34#endif /* _LINUX_BH_H */
  35