arch/x86/include/asm/numaq/ipi.h
changeset 2 d1f6d8b6f81c
parent 0 aa628870c1d3
equal deleted inserted replaced
1:0056487c491e 2:d1f6d8b6f81c
     1 #ifndef __ASM_NUMAQ_IPI_H
     1 #ifndef __ASM_NUMAQ_IPI_H
     2 #define __ASM_NUMAQ_IPI_H
     2 #define __ASM_NUMAQ_IPI_H
     3 
     3 
     4 void send_IPI_mask_sequence(cpumask_t, int vector);
     4 void send_IPI_mask_sequence(const struct cpumask *mask, int vector);
       
     5 void send_IPI_mask_allbutself(const struct cpumask *mask, int vector);
     5 
     6 
     6 static inline void send_IPI_mask(cpumask_t mask, int vector)
     7 static inline void send_IPI_mask(const struct cpumask *mask, int vector)
     7 {
     8 {
     8 	send_IPI_mask_sequence(mask, vector);
     9 	send_IPI_mask_sequence(mask, vector);
     9 }
    10 }
    10 
    11 
    11 static inline void send_IPI_allbutself(int vector)
    12 static inline void send_IPI_allbutself(int vector)
    12 {
    13 {
    13 	cpumask_t mask = cpu_online_map;
    14 	send_IPI_mask_allbutself(cpu_online_mask, vector);
    14 	cpu_clear(smp_processor_id(), mask);
       
    15 
       
    16 	if (!cpus_empty(mask))
       
    17 		send_IPI_mask(mask, vector);
       
    18 }
    15 }
    19 
    16 
    20 static inline void send_IPI_all(int vector)
    17 static inline void send_IPI_all(int vector)
    21 {
    18 {
    22 	send_IPI_mask(cpu_online_map, vector);
    19 	send_IPI_mask(cpu_online_mask, vector);
    23 }
    20 }
    24 
    21 
    25 #endif /* __ASM_NUMAQ_IPI_H */
    22 #endif /* __ASM_NUMAQ_IPI_H */