The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/include/asm-alpha/softirq.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 #ifndef _ALPHA_SOFTIRQ_H
    2 #define _ALPHA_SOFTIRQ_H
    3 
    4 #include <linux/stddef.h>
    5 #include <asm/atomic.h>
    6 #include <asm/hardirq.h>
    7 
    8 extern inline void cpu_bh_disable(int cpu)
    9 {
   10         local_bh_count(cpu)++;
   11         barrier();
   12 }
   13 
   14 extern inline void __cpu_bh_enable(int cpu)
   15 {
   16         barrier();
   17         local_bh_count(cpu)--;
   18 }
   19 
   20 #define __local_bh_enable()     __cpu_bh_enable(smp_processor_id())
   21 #define local_bh_disable()      cpu_bh_disable(smp_processor_id())
   22 
   23 #define local_bh_enable()                                       \
   24 do {                                                            \
   25         int cpu;                                                \
   26                                                                 \
   27         barrier();                                              \
   28         cpu = smp_processor_id();                               \
   29         if (!--local_bh_count(cpu) && softirq_pending(cpu))     \
   30                 do_softirq();                                   \
   31 } while (0)
   32 
   33 #define in_softirq() (local_bh_count(smp_processor_id()) != 0)
   34 
   35 #endif /* _ALPHA_SOFTIRQ_H */

Cache object: 592e3acfaeb66847fe1a2889cc5de0a3


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.