Rev 5270 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 486... | Line 486... | ||
486 | #define __this_cpu_sub_return(pcp, val) __this_cpu_add_return(pcp, -(typeof(pcp))(val)) |
486 | #define __this_cpu_sub_return(pcp, val) __this_cpu_add_return(pcp, -(typeof(pcp))(val)) |
487 | #define __this_cpu_inc_return(pcp) __this_cpu_add_return(pcp, 1) |
487 | #define __this_cpu_inc_return(pcp) __this_cpu_add_return(pcp, 1) |
488 | #define __this_cpu_dec_return(pcp) __this_cpu_add_return(pcp, -1) |
488 | #define __this_cpu_dec_return(pcp) __this_cpu_add_return(pcp, -1) |
Line 489... | Line 489... | ||
489 | 489 | ||
490 | /* |
490 | /* |
491 | * Operations with implied preemption protection. These operations can be |
491 | * Operations with implied preemption/interrupt protection. These |
492 | * used without worrying about preemption. Note that interrupts may still |
- | |
493 | * occur while an operation is in progress and if the interrupt modifies |
- | |
494 | * the variable too then RMW actions may not be reliable. |
492 | * operations can be used without worrying about preemption or interrupt. |
495 | */ |
493 | */ |
496 | #define this_cpu_read(pcp) __pcpu_size_call_return(this_cpu_read_, pcp) |
494 | #define this_cpu_read(pcp) __pcpu_size_call_return(this_cpu_read_, pcp) |
497 | #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) |
495 | #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) |
498 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) |
496 | #define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val) |