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 Jan 12 22:03:23 UTC 2020

Modified Files:
        src/sys/kern: kern_exec.c kern_runq.c
        src/sys/sys: lwp.h sched.h

Log Message:
A final set of scheduler tweaks:

- Try hard to keep vfork() parent and child on the same CPU until execve(),
  failing that on the same core, but in all other cases scatter new LWPs
  among the different CPU packages, round robin, to try and get the best out
  of the available cache and bus bandwidth.

- Remove attempts at balancing.  Replace with a rate-limited skim of other
  CPU's run queues in sched_idle(), starting in the current package and
  moving outwards.  Add a sysctl tunable to change the interval.

- Make the cacheht_time tuneable take a milliseconds value.

- It's possible to configure things such that there's no CPU allowed to run
  an LWP.  Defeat this by always having a default:

Reported-by: syzbot+46968944dd9359ab93bc%syzkaller.appspotmail.com@localhost
Reported-by: syzbot+7f750a4cc230d1e831f9%syzkaller.appspotmail.com@localhost
Reported-by: syzbot+88d7675158f5cb4684db%syzkaller.appspotmail.com@localhost
Reported-by: syzbot+d409c2338150e9a8ae1e%syzkaller.appspotmail.com@localhost
Reported-by: syzbot+e152dc5bff188f67358a%syzkaller.appspotmail.com@localhost


To generate a diff of this commit:
cvs rdiff -u -r1.487 -r1.488 src/sys/kern/kern_exec.c
cvs rdiff -u -r1.57 -r1.58 src/sys/kern/kern_runq.c
cvs rdiff -u -r1.195 -r1.196 src/sys/sys/lwp.h
cvs rdiff -u -r1.86 -r1.87 src/sys/sys/sched.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