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