git: kernel - Refactor cpumask_t to extend cpus past 64, part 1/2
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Jul 3 21:02:18 PDT 2014
commit c07315c47f12ac7242a5409623dcfbb82f8168ab
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Jul 3 20:07:27 2014 -0700
kernel - Refactor cpumask_t to extend cpus past 64, part 1/2
* 64-bit systems only. 32-bit builds use the macros but cannot be expanded
past 32 cpus.
* Change cpumask_t from __uint64_t to a structure. This commit implements
one 64-bit sub-element (the next one will implement four for 256 cpus).
* Create a CPUMASK_*() macro API for non-atomic and atomic cpumask
manipulation. These macros generally take lvalues as arguments, allowing
for a fairly optimal implementation.
* Change all C code operating on cpumask's to use the newly created CPUMASK_*()
macro API.
* Compile-test 32 and 64-bit. Run-test 64-bit.
* Adjust sbin/usched, usr.sbin/powerd. usched currently needs more work.
Summary of changes:
sbin/usched/usched.c | 66 +++++----
sys/cpu/i386/include/types.h | 44 +++++-
sys/cpu/i386/misc/lwbuf.c | 4 +-
sys/cpu/x86_64/include/types.h | 60 +++++++-
sys/dev/acpica/acpi_cpu.c | 2 +-
sys/dev/powermng/clockmod/clockmod.c | 14 +-
sys/kern/init_main.c | 6 +-
sys/kern/kern_fork.c | 2 +-
sys/kern/kern_proc.c | 2 +-
sys/kern/kern_shutdown.c | 2 +-
sys/kern/kern_synch.c | 23 ++--
sys/kern/kern_usched.c | 28 ++--
sys/kern/lwkt_ipiq.c | 77 ++++++-----
sys/kern/subr_cpu_topology.c | 34 +++--
sys/kern/sys_vmm.c | 8 +-
sys/kern/usched_bsd4.c | 197 ++++++++++++++++-----------
sys/kern/usched_dfly.c | 120 +++++++++-------
sys/kern/usched_dummy.c | 46 ++++---
sys/net/netisr.c | 13 +-
sys/netinet/ip_flow.c | 9 +-
sys/netinet/ip_input.c | 20 ++-
sys/platform/pc32/apic/lapic.c | 2 +-
sys/platform/pc32/apic/lapic.h | 2 +-
sys/platform/pc32/i386/mp_machdep.c | 96 ++++++++-----
sys/platform/pc32/i386/mptable.c | 6 +-
sys/platform/pc32/i386/pmap.c | 13 +-
sys/platform/pc32/i386/vm_machdep.c | 6 +-
sys/platform/pc64/apic/lapic.c | 4 +-
sys/platform/pc64/apic/lapic.h | 2 +-
sys/platform/pc64/isa/clock.c | 2 +-
sys/platform/pc64/vmm/vmx.c | 80 ++++++-----
sys/platform/pc64/x86_64/db_interface.c | 12 +-
sys/platform/pc64/x86_64/mp_machdep.c | 129 ++++++++++++------
sys/platform/pc64/x86_64/mptable.c | 16 ++-
sys/platform/pc64/x86_64/pmap.c | 22 +--
sys/platform/vkernel/i386/exception.c | 2 +-
sys/platform/vkernel/i386/mp.c | 41 +++---
sys/platform/vkernel/platform/pmap.c | 53 +++----
sys/platform/vkernel64/platform/pmap.c | 6 +-
sys/platform/vkernel64/platform/pmap_inval.c | 3 +-
sys/platform/vkernel64/x86_64/exception.c | 2 +-
sys/platform/vkernel64/x86_64/mp.c | 38 +++---
sys/sys/cpu_topology.h | 4 +-
sys/sys/globaldata.h | 2 +-
sys/sys/param.h | 3 +
usr.sbin/powerd/powerd.c | 3 +-
46 files changed, 812 insertions(+), 514 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/c07315c47f12ac7242a5409623dcfbb82f8168ab
--
DragonFly BSD source repository
More information about the Commits
mailing list