Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jun 2011 08:46:13 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src UPDATING src/gnu/usr.bin/gdb/kgdb kthr.c src/lib/libkvm kvm_pcpu.c src/lib/libmemstat memstat_uma.c src/share/man/man4 geom_map.4 src/sys/amd64/acpica acpi_wakeup.c src/sys/amd64/amd64 intr_machdep.c mp_machdep.c pmap.c ...
Message-ID:  <201106071246.p57CkKHE063023@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

attilio     2011-06-07 08:46:13 UTC

  FreeBSD src repository

  Modified files:
    .                    UPDATING 
    gnu/usr.bin/gdb/kgdb kthr.c 
    lib/libkvm           kvm_pcpu.c 
    lib/libmemstat       memstat_uma.c 
    share/man/man4       geom_map.4 
    sys/amd64/acpica     acpi_wakeup.c 
    sys/amd64/amd64      intr_machdep.c mp_machdep.c pmap.c 
                         vm_machdep.c 
    sys/amd64/include    _types.h pmap.h smp.h 
    sys/arm/arm          pmap.c 
    sys/arm/include      _types.h pmap.h 
    sys/cddl/dev/cyclic/i386 cyclic_machdep.c 
    sys/cddl/dev/dtrace/amd64 dtrace_subr.c 
    sys/cddl/dev/dtrace/i386 dtrace_subr.c 
    sys/conf             NOTES 
    sys/dev/hwpmc        hwpmc_mod.c 
    sys/dev/iicbus       ad7417.c 
    sys/dev/xen/control  control.c 
    sys/geom/eli         g_eli.c 
    sys/i386/i386        intr_machdep.c mp_machdep.c pmap.c 
                         vm_machdep.c 
    sys/i386/include     _types.h pmap.h sf_buf.h smp.h 
    sys/i386/xen         mp_machdep.c pmap.c 
    sys/ia64/ia64        mp_machdep.c 
    sys/ia64/include     _types.h smp.h 
    sys/kern             kern_cpuset.c kern_ktr.c kern_pmc.c 
                         kern_rmlock.c sched_4bsd.c sched_ule.c 
                         subr_kdb.c subr_pcpu.c subr_smp.c 
    sys/mips/cavium      octeon_mp.c 
    sys/mips/include     _types.h hwfunc.h pmap.h smp.h 
    sys/mips/mips        mp_machdep.c pmap.c 
    sys/mips/rmi         xlr_machdep.c 
    sys/mips/sibyte      sb_scd.c 
    sys/nfs              nfs_kdtrace.h 
    sys/ofed/include/linux list.h 
    sys/powerpc/aim      mmu_oea.c mmu_oea64.c 
    sys/powerpc/booke    platform_bare.c pmap.c 
    sys/powerpc/include  _types.h openpicvar.h pmap.h smp.h 
    sys/powerpc/mpc85xx  openpic_fdt.c 
    sys/powerpc/powerpc  intr_machdep.c mp_machdep.c openpic.c 
                         pic_if.m 
    sys/sparc64/include  _types.h ktr.h pmap.h smp.h 
    sys/sparc64/sparc64  genassym.c intr_machdep.c mp_exception.S 
                         mp_machdep.c pmap.c swtch.S tlb.c 
    sys/sys              _rmlock.h _stdint.h cpuset.h ktr.h pcpu.h 
                         pmckern.h smp.h types.h 
    sys/x86/x86          local_apic.c 
    tools/build/options  WITHOUT_GPIO WITH_OFED 
    tools/regression/bin/sh/builtins set1.0 
    tools/regression/bin/sh/parser dollar-quote1.0 dollar-quote2.0 
                                   dollar-quote3.0 dollar-quote4.0 
                                   dollar-quote5.0 dollar-quote6.0 
                                   dollar-quote7.0 dollar-quote8.0 
                                   dollar-quote9.0 
    usr.sbin/pmccontrol  pmccontrol.c 
  Added files:
    sys/sys              _cpuset.h 
  Log:
  SVN rev 222813 on 2011-06-07 08:46:13Z by attilio
  
  etire the cpumask_t type and replace it with cpuset_t usage.
  
  This is intended to fix the bug where cpu mask objects are
  capped to 32.  MAXCPU, then, can now arbitrarely bumped to whatever
  value.  Anyway, as long as several structures in the kernel are
  statically allocated and sized as MAXCPU, it is suggested to keep it
  as low as possible for the time being.
  
  Technical notes on this commit itself:
  - More functions to handle with cpuset_t objects are introduced.
    The most notable are cpusetobj_ffs() (which calculates a ffs(3)
    for a cpuset_t object), cpusetobj_strprint() (which prepares a string
    representing a cpuset_t object) and cpusetobj_strscan() (which
    creates a valid cpuset_t starting from a string representation).
  - pc_cpumask and pc_other_cpus are target to be removed soon.
    With the moving from cpumask_t to cpuset_t they are now inefficient
    and not really useful.  Anyway, for the time being, please note that
    access to pcpu datas is protected by sched_pin() in order to avoid
    migrating the CPU while reading more than one (possible) word
  - Please note that size of cpuset_t objects may differ between kernel
    and userland.  While this is not directly related to the patch itself,
    it is good to understand that concept and possibly use the patch
    as a reference on how to deal with cpuset_t objects in userland, when
    accessing kernland members.
  - KTR_CPUMASK is changed and now is represented through a string, to be
    set as the example reported in NOTES.
  
  Please additively note that no MAXCPU is bumped in this patch, but
  private testing has been done until to MAXCPU=128 on a real 8x8x2(htt)
  machine (amd64).
  
  Please note that the FreeBSD version is not yet bumped because of
  the upcoming pcpu changes.  However, note that this patch is not
  targeted for MFC.
  
  People to thank for the time spent on this patch:
  - sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested
    several revision of the patches and really helped in improving
    stability of this work.
  - marius fixed several bugs in the sparc64 implementation and reviewed
    patches related to ktr.
  - jeff and jhb discussed the basic approach followed.
  - kib and marcel made targeted review on some specific part of the
    patch.
  - marius, art, nwhitehorn and andreast reviewed MD specific part of
    the patch.
  - marius, andreast, gonzo, nwhitehorn and jceel tested MD specific
    implementations of the patch.
  - Other people have made contributions on other patches that have been
    already committed and have been listed separately.
  
  Companies that should be mentioned for having participated at several
  degrees:
  - Yahoo! for having offered the machines used for testing on big
    count of CPUs.
  - The FreeBSD Foundation for having sponsored my devsummit attendance,
    which has been instrumental.
  - Sandvine for having offered offices and infrastructure during
    development.
  
  (I really hope I didn't forget anyone, if it happened I apologize in
  advance).
  
  Revision  Changes    Path
  1.693     +4 -0      src/UPDATING
  1.15      +11 -7     src/gnu/usr.bin/gdb/kgdb/kthr.c
  1.5       +29 -2     src/lib/libkvm/kvm_pcpu.c
  1.19      +12 -3     src/lib/libmemstat/memstat_uma.c
  1.4       +0 -0      src/share/man/man4/geom_map.4
  1.41      +10 -11    src/sys/amd64/acpica/acpi_wakeup.c
  1.53      +6 -4      src/sys/amd64/amd64/intr_machdep.c
  1.343     +121 -103  src/sys/amd64/amd64/mp_machdep.c
  1.721     +49 -35    src/sys/amd64/amd64/pmap.c
  1.276     +15 -6     src/sys/amd64/amd64/vm_machdep.c
  1.13      +0 -1      src/sys/amd64/include/_types.h
  1.160     +2 -1      src/sys/amd64/include/pmap.h
  1.101     +4 -4      src/sys/amd64/include/smp.h
  1.133     +2 -2      src/sys/arm/arm/pmap.c
  1.11      +0 -1      src/sys/arm/include/_types.h
  1.40      +2 -1      src/sys/arm/include/pmap.h
  1.6       +3 -1      src/sys/cddl/dev/cyclic/i386/cyclic_machdep.c
  1.10      +5 -4      src/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
  1.10      +6 -4      src/sys/cddl/dev/dtrace/i386/dtrace_subr.c
  1.1612    +5 -2      src/sys/conf/NOTES
  1.53      +4 -4      src/sys/dev/hwpmc/hwpmc_mod.c
  1.3       +0 -0      src/sys/dev/iicbus/ad7417.c
  1.2       +13 -8     src/sys/dev/xen/control/control.c
  1.67      +1 -1      src/sys/geom/eli/g_eli.c
  1.48      +6 -4      src/sys/i386/i386/intr_machdep.c
  1.326     +115 -97   src/sys/i386/i386/mp_machdep.c
  1.700     +72 -46    src/sys/i386/i386/pmap.c
  1.306     +22 -14    src/sys/i386/i386/vm_machdep.c
  1.17      +0 -1      src/sys/i386/include/_types.h
  1.154     +2 -1      src/sys/i386/include/pmap.h
  1.6       +2 -1      src/sys/i386/include/sf_buf.h
  1.102     +4 -4      src/sys/i386/include/smp.h
  1.32      +69 -48    src/sys/i386/xen/mp_machdep.c
  1.60      +45 -36    src/sys/i386/xen/pmap.c
  1.90      +11 -10    src/sys/ia64/ia64/mp_machdep.c
  1.12      +0 -1      src/sys/ia64/include/_types.h
  1.16      +3 -1      src/sys/ia64/include/smp.h
  1.27      +82 -6     src/sys/kern/kern_cpuset.c
  1.59      +51 -10    src/sys/kern/kern_ktr.c
  1.10      +3 -3      src/sys/kern/kern_pmc.c
  1.14      +8 -7      src/sys/kern/kern_rmlock.c
  1.156     +44 -22    src/sys/kern/sched_4bsd.c
  1.292     +5 -4      src/sys/kern/sched_ule.c
  1.35      +2 -1      src/sys/kern/subr_kdb.c
  1.25      +1 -1      src/sys/kern/subr_pcpu.c
  1.229     +51 -36    src/sys/kern/subr_smp.c
  1.7       +11 -3     src/sys/mips/cavium/octeon_mp.c
  1.7       +0 -1      src/sys/mips/include/_types.h
  1.6       +3 -1      src/sys/mips/include/hwfunc.h
  1.27      +2 -1      src/sys/mips/include/pmap.h
  1.10      +3 -1      src/sys/mips/include/smp.h
  1.22      +38 -22    src/sys/mips/mips/mp_machdep.c
  1.93      +24 -12    src/sys/mips/mips/pmap.c
  1.31      +7 -3      src/sys/mips/rmi/xlr_machdep.c
  1.8       +8 -3      src/sys/mips/sibyte/sb_scd.c
  1.2       +0 -0      src/sys/nfs/nfs_kdtrace.h
  1.2       +1 -0      src/sys/ofed/include/linux/list.h
  1.162     +10 -3     src/sys/powerpc/aim/mmu_oea.c
  1.61      +10 -3     src/sys/powerpc/aim/mmu_oea64.c
  1.13      +2 -2      src/sys/powerpc/booke/platform_bare.c
  1.44      +7 -4      src/sys/powerpc/booke/pmap.c
  1.11      +0 -1      src/sys/powerpc/include/_types.h
  1.12      +1 -1      src/sys/powerpc/include/openpicvar.h
  1.37      +3 -2      src/sys/powerpc/include/pmap.h
  1.13      +3 -1      src/sys/powerpc/include/smp.h
  1.3       +2 -1      src/sys/powerpc/mpc85xx/openpic_fdt.c
  1.39      +4 -3      src/sys/powerpc/powerpc/intr_machdep.c
  1.39      +14 -12    src/sys/powerpc/powerpc/mp_machdep.c
  1.33      +7 -2      src/sys/powerpc/powerpc/openpic.c
  1.10      +2 -1      src/sys/powerpc/powerpc/pic_if.m
  1.9       +0 -1      src/sys/sparc64/include/_types.h
  1.8       +2 -0      src/sys/sparc64/include/ktr.h
  1.55      +2 -1      src/sys/sparc64/include/pmap.h
  1.35      +29 -18    src/sys/sparc64/include/smp.h
  1.84      +3 -1      src/sys/sparc64/sparc64/genassym.c
  1.43      +6 -4      src/sys/sparc64/sparc64/intr_machdep.c
  1.17      +21 -11    src/sys/sparc64/sparc64/mp_exception.S
  1.67      +61 -41    src/sys/sparc64/sparc64/mp_machdep.c
  1.213     +4 -4      src/sys/sparc64/sparc64/pmap.c
  1.40      +29 -11    src/sys/sparc64/sparc64/swtch.S
  1.14      +3 -3      src/sys/sparc64/sparc64/tlb.c
  1.3       +52 -0     src/sys/sys/_cpuset.h (new)
  1.3       +1 -1      src/sys/sys/_rmlock.h
  1.2       +0 -0      src/sys/sys/_stdint.h
  1.11      +46 -15    src/sys/sys/cpuset.h
  1.43      +4 -1      src/sys/sys/ktr.h
  1.53      +13 -2     src/sys/sys/pcpu.h
  1.9       +2 -2      src/sys/sys/pmckern.h
  1.97      +14 -12    src/sys/sys/smp.h
  1.108     +0 -1      src/sys/sys/types.h
  1.21      +1 -1      src/sys/x86/x86/local_apic.c
  1.2       +0 -0      src/tools/build/options/WITHOUT_GPIO
  1.2       +0 -0      src/tools/build/options/WITH_OFED
  1.2       +0 -0      src/tools/regression/bin/sh/builtins/set1.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote1.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote2.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote3.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote4.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote5.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote6.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote7.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote8.0
  1.2       +0 -0      src/tools/regression/bin/sh/parser/dollar-quote9.0
  1.10      +16 -9     src/usr.sbin/pmccontrol/pmccontrol.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106071246.p57CkKHE063023>