mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
e52fb7c097
Prefer tasks that wake other tasks to preempt quickly. This improves performance because more work is available sooner. The workload that prompted this patch was a kernel build over NFS4 (for some curious and not understood reason we had to revert commit: 18de9735300756e3ca9c361ef58409d8561dfe0d to make any progress at all) Without this patch a make -j8 bzImage (of x86-64 defconfig) would take 3m30-ish, with this patch we're down to 2m50-ish. psql-sysbench/mysql-sysbench show a slight improvement in peak performance as well, tbench and vmark seemed to not care. It is possible to improve upon the build time (to 2m20-ish) but that seriously destroys other benchmarks (just shows that there's more room for tinkering). Much thanks to Mike who put in a lot of effort to benchmark things and proved a worthy opponent with a competing patch. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 lines
456 B
C
17 lines
456 B
C
SCHED_FEAT(NEW_FAIR_SLEEPERS, 1)
|
|
SCHED_FEAT(NORMALIZED_SLEEPER, 0)
|
|
SCHED_FEAT(ADAPTIVE_GRAN, 1)
|
|
SCHED_FEAT(WAKEUP_PREEMPT, 1)
|
|
SCHED_FEAT(START_DEBIT, 1)
|
|
SCHED_FEAT(AFFINE_WAKEUPS, 1)
|
|
SCHED_FEAT(CACHE_HOT_BUDDY, 1)
|
|
SCHED_FEAT(SYNC_WAKEUPS, 1)
|
|
SCHED_FEAT(HRTICK, 0)
|
|
SCHED_FEAT(DOUBLE_TICK, 0)
|
|
SCHED_FEAT(ASYM_GRAN, 1)
|
|
SCHED_FEAT(LB_BIAS, 1)
|
|
SCHED_FEAT(LB_WAKEUP_UPDATE, 1)
|
|
SCHED_FEAT(ASYM_EFF_LOAD, 1)
|
|
SCHED_FEAT(WAKEUP_OVERLAP, 0)
|
|
SCHED_FEAT(LAST_BUDDY, 1)
|