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:           Thu Jan  9 16:35:04 UTC 2020

Modified Files:
        src/sys/arch/aarch64/aarch64: cpufunc.c
        src/sys/arch/arm/arm32: cpu.c
        src/sys/arch/macppc/macppc: cpu.c
        src/sys/arch/mips/mips: cpu_subr.c
        src/sys/arch/x86/x86: cpu_topology.c
        src/sys/kern: kern_runq.c kern_synch.c sched_4bsd.c subr_cpu.c
        src/sys/sys: cpu.h cpu_data.h sched.h
        src/sys/uvm: uvm_page.c

Log Message:
- Many small tweaks to the SMT awareness in the scheduler.  It does a much
  better job now at keeping all physical CPUs busy, while using the extra
  threads to help out.  In particular, during preempt() if we're using SMT,
  try to find a better CPU to run on and teleport curlwp there.

- Change the CPU topology stuff so it can work on asymmetric systems.  This
  mainly entails rearranging one of the CPU lists so it makes sense in all
  configurations.

- Add a parameter to cpu_topology_set() to note that a CPU is "slow", for
  where there are fast CPUs and slow CPUs, like with the Rockwell RK3399.
  Extend the SMT awareness to try and handle that situation too (keep fast
  CPUs busy, use slow CPUs as helpers).


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/aarch64/aarch64/cpufunc.c
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/arm/arm32/cpu.c
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/macppc/macppc/cpu.c
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/mips/mips/cpu_subr.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/x86/x86/cpu_topology.c
cvs rdiff -u -r1.56 -r1.57 src/sys/kern/kern_runq.c
cvs rdiff -u -r1.335 -r1.336 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.41 -r1.42 src/sys/kern/sched_4bsd.c
cvs rdiff -u -r1.5 -r1.6 src/sys/kern/subr_cpu.c
cvs rdiff -u -r1.47 -r1.48 src/sys/sys/cpu.h
cvs rdiff -u -r1.46 -r1.47 src/sys/sys/cpu_data.h
cvs rdiff -u -r1.85 -r1.86 src/sys/sys/sched.h
cvs rdiff -u -r1.221 -r1.222 src/sys/uvm/uvm_page.c

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