summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_ule.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-08-11 15:08:19 +0000
committermav <mav@FreeBSD.org>2012-08-11 15:08:19 +0000
commite7c56ae4368889c0bb9babc7cb9839ac04ba1101 (patch)
tree5171487e6675009abe75e1e064893460d0efc4f2 /sys/kern/sched_ule.c
parent362478d3c0bd28967053d21d4ba2a88a97feae01 (diff)
downloadFreeBSD-src-e7c56ae4368889c0bb9babc7cb9839ac04ba1101.zip
FreeBSD-src-e7c56ae4368889c0bb9babc7cb9839ac04ba1101.tar.gz
Allow idle threads to steal second threads from other cores on systems with
8 or more cores to improve utilization. None of my tests on 2xXeon (2x6x2) system shown any slowdown from mentioned "excess thrashing". Same time in pbzip2 test with number of threads more then number of CPUs I see up to 10% speedup with SMT disabled and up 5% with SMT enabled. Thinking about trashing I was trying to limit that stealing within same last level cache, but got only worse results. Present code any way prefers to steal threads from topologically closer cores. Sponsored by: iXsystems, Inc.
Diffstat (limited to 'sys/kern/sched_ule.c')
-rw-r--r--sys/kern/sched_ule.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 5d5e908..df127c0 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -1403,12 +1403,6 @@ sched_initticks(void *dummy)
* what realstathz is.
*/
balance_interval = realstathz;
- /*
- * Set steal thresh to roughly log2(mp_ncpu) but no greater than 4.
- * This prevents excess thrashing on large machines and excess idle
- * on smaller machines.
- */
- steal_thresh = min(fls(mp_ncpus) - 1, 3);
affinity = SCHED_AFFINITY_DEFAULT;
#endif
if (sched_idlespinthresh < 0)
OpenPOWER on IntegriCloud