Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   ad
Date:           Sun Dec  1 15:34:47 UTC 2019

Modified Files:
        src/sys/arch/alpha/alpha: ipifuncs.c
        src/sys/arch/alpha/include: cpu.h
        src/sys/arch/arm/include: cpu.h
        src/sys/arch/hppa/include: cpu.h
        src/sys/arch/ia64/include: cpu.h
        src/sys/arch/m68k/include: cpu.h
        src/sys/arch/mips/include: cpu.h
        src/sys/arch/mips/mips: ipifuncs.c
        src/sys/arch/mips/rmi: rmixl_cpu.c
        src/sys/arch/or1k/include: cpu.h
        src/sys/arch/powerpc/booke: e500_intr.c
        src/sys/arch/powerpc/include: cpu.h
        src/sys/arch/powerpc/pic: ipi.c
        src/sys/arch/riscv/include: cpu.h
        src/sys/arch/sh3/include: cpu.h
        src/sys/arch/sparc/include: cpu.h
        src/sys/arch/sparc64/include: cpu.h
        src/sys/arch/sparc64/sparc64: clock.c
        src/sys/arch/usermode/include: cpu.h
        src/sys/arch/vax/include: cpu.h
        src/sys/arch/vax/vax: ka6400.c ka820.c ka88.c
        src/sys/arch/x86/include: cpu.h
        src/sys/arch/x86/x86: ipi.c
        src/sys/arch/xen/x86: xen_ipi.c
        src/sys/kern: kern_clock.c kern_cpu.c kern_idle.c kern_runq.c
            kern_softint.c kern_synch.c sched_4bsd.c sched_m2.c
        src/sys/sys: cpu_data.h lwp.h

Log Message:
Fix false sharing problems with cpu_info.  Identified with tprof(8).
This was a very nice win in my tests on a 48 CPU box.

- Reorganise cpu_data slightly according to usage.
- Put cpu_onproc into struct cpu_info alongside ci_curlwp (now is ci_onproc).
- On x86, put some items in their own cache lines according to usage, like
  the IPI bitmask and ci_want_resched.


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/alpha/alpha/ipifuncs.c
cvs rdiff -u -r1.85 -r1.86 src/sys/arch/alpha/include/cpu.h
cvs rdiff -u -r1.102 -r1.103 src/sys/arch/arm/include/cpu.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/hppa/include/cpu.h
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/ia64/include/cpu.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/m68k/include/cpu.h
cvs rdiff -u -r1.127 -r1.128 src/sys/arch/mips/include/cpu.h
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/mips/mips/ipifuncs.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/mips/rmi/rmixl_cpu.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/or1k/include/cpu.h
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/powerpc/booke/e500_intr.c
cvs rdiff -u -r1.109 -r1.110 src/sys/arch/powerpc/include/cpu.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/pic/ipi.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/riscv/include/cpu.h
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/sh3/include/cpu.h
cvs rdiff -u -r1.102 -r1.103 src/sys/arch/sparc/include/cpu.h
cvs rdiff -u -r1.127 -r1.128 src/sys/arch/sparc64/include/cpu.h
cvs rdiff -u -r1.121 -r1.122 src/sys/arch/sparc64/sparc64/clock.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/usermode/include/cpu.h
cvs rdiff -u -r1.103 -r1.104 src/sys/arch/vax/include/cpu.h
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/vax/vax/ka6400.c \
    src/sys/arch/vax/vax/ka88.c
cvs rdiff -u -r1.56 -r1.57 src/sys/arch/vax/vax/ka820.c
cvs rdiff -u -r1.114 -r1.115 src/sys/arch/x86/include/cpu.h
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/x86/x86/ipi.c
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/xen/x86/xen_ipi.c
cvs rdiff -u -r1.138 -r1.139 src/sys/kern/kern_clock.c
cvs rdiff -u -r1.77 -r1.78 src/sys/kern/kern_cpu.c
cvs rdiff -u -r1.26 -r1.27 src/sys/kern/kern_idle.c
cvs rdiff -u -r1.51 -r1.52 src/sys/kern/kern_runq.c \
    src/sys/kern/kern_softint.c
cvs rdiff -u -r1.326 -r1.327 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.39 -r1.40 src/sys/kern/sched_4bsd.c
cvs rdiff -u -r1.35 -r1.36 src/sys/kern/sched_m2.c
cvs rdiff -u -r1.39 -r1.40 src/sys/sys/cpu_data.h
cvs rdiff -u -r1.191 -r1.192 src/sys/sys/lwp.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index