]> xenbits.xensource.com Git - xen.git/commit
introduce and use relaxed cpumask bitops
authorJan Beulich <jbeulich@suse.com>
Wed, 18 Feb 2015 15:55:17 +0000 (16:55 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 18 Feb 2015 15:55:17 +0000 (16:55 +0100)
commit4aaca0e9cd09ea86df2d86a0ccbfbcdfb2c37453
tree553ebbfb4083c5bbf836c4bf8aaca7999ff393de
parent97c4e77538f24786dc7521cdffb2b4d6e3dad7ed
introduce and use relaxed cpumask bitops

Using atomic (LOCKed on x86) bitops for certain of the operations on
cpumask_t is overkill when the variables aren't concurrently accessible
(e.g. local function variables, or due to explicit locking). Introduce
alternatives using non-atomic bitops and use them where appropriate.

Note that this
- adds a volatile qualifier to cpumask_test_and_{clear,set}_cpu()
  (should have been there from the beginning, like is the case for
  cpumask_{clear,set}_cpu())
- replaces several cpumask_clear()+cpumask_set_cpu(, n) pairs by the
  simpler cpumask_copy(, cpumask_of(n)) (or just cpumask_of(n) if we
  can do without copying)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
12 files changed:
xen/arch/x86/hpet.c
xen/arch/x86/irq.c
xen/arch/x86/mm.c
xen/arch/x86/platform_hypercall.c
xen/arch/x86/time.c
xen/common/core_parking.c
xen/common/cpu.c
xen/common/page_alloc.c
xen/common/sched_credit.c
xen/common/sched_rt.c
xen/common/softirq.c
xen/include/xen/cpumask.h