Messages in this thread | | | From | Andi Kleen <> | Subject | Re: Slowdown due to threads bouncing between HT cores | Date | Sat, 04 Oct 2014 06:41:15 -0700 |
| |
"Steinar H. Gunderson" <sgunderson@bigfoot.com> writes: > > So, benchmark: > > - Default: 13266 kN/sec > - Change from ondemand to performance on all cores: 14600 kN/sec > - taskset -c 0-19 (locking affinity to only one set of hyperthreads): > 17512 kN/sec
iirc the main reasons for unbound threads migrating away are:
- something else gets scheduled on these logical CPUs, so the scheduler tries to balance to run queue lengths
You could check that with perf timechart or perf sched record/map or kernelshark.
- there is some IO or communication which causes wakeup affinity.
You could try disabling WAKEUP_PREEMPTION or NEXT_BUDDY in /sys/kernel/debug/sched_features
-Andi -- ak@linux.intel.com -- Speaking for myself only
| |