percpu: Remove irqsafe_cpu_xxx variants

We simply say that regular this_cpu use must be safe regardless of
preemption and interrupt state.  That has no material change for x86
and s390 implementations of this_cpu operations.  However, arches that
do not provide their own implementation for this_cpu operations will
now get code generated that disables interrupts instead of preemption.

-tj: This is part of on-going percpu API cleanup.  For detailed
     discussion of the subject, please refer to the following thread.

     http://thread.gmane.org/gmane.linux.kernel/1222078

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
LKML-Reference: <alpine.DEB.2.00.1112221154380.11787@router.home>
This commit is contained in:
Christoph Lameter
2011-12-22 11:58:51 -06:00
committed by Tejun Heo
parent ecefc36b41
commit 933393f58f
9 changed files with 62 additions and 236 deletions
+7 -7
View File
@@ -129,33 +129,33 @@ struct linux_xfrm_mib {
__this_cpu_inc(mib[0]->mibs[field])
#define SNMP_INC_STATS_USER(mib, field) \
irqsafe_cpu_inc(mib[0]->mibs[field])
this_cpu_inc(mib[0]->mibs[field])
#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) \
atomic_long_inc(&mib->mibs[field])
#define SNMP_INC_STATS(mib, field) \
irqsafe_cpu_inc(mib[0]->mibs[field])
this_cpu_inc(mib[0]->mibs[field])
#define SNMP_DEC_STATS(mib, field) \
irqsafe_cpu_dec(mib[0]->mibs[field])
this_cpu_dec(mib[0]->mibs[field])
#define SNMP_ADD_STATS_BH(mib, field, addend) \
__this_cpu_add(mib[0]->mibs[field], addend)
#define SNMP_ADD_STATS_USER(mib, field, addend) \
irqsafe_cpu_add(mib[0]->mibs[field], addend)
this_cpu_add(mib[0]->mibs[field], addend)
#define SNMP_ADD_STATS(mib, field, addend) \
irqsafe_cpu_add(mib[0]->mibs[field], addend)
this_cpu_add(mib[0]->mibs[field], addend)
/*
* Use "__typeof__(*mib[0]) *ptr" instead of "__typeof__(mib[0]) ptr"
* to make @ptr a non-percpu pointer.
*/
#define SNMP_UPD_PO_STATS(mib, basefield, addend) \
do { \
irqsafe_cpu_inc(mib[0]->mibs[basefield##PKTS]); \
irqsafe_cpu_add(mib[0]->mibs[basefield##OCTETS], addend); \
this_cpu_inc(mib[0]->mibs[basefield##PKTS]); \
this_cpu_add(mib[0]->mibs[basefield##OCTETS], addend); \
} while (0)
#define SNMP_UPD_PO_STATS_BH(mib, basefield, addend) \
do { \