Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 May 2011 09:27:47 -0700
From:      Josh Carroll <josh.carroll@gmail.com>
To:        FreeBSD Stable Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: [poll] hyperthreading_allowed, hlt_logical_cpus, mp_watchdog
Message-ID:  <BANLkTik8G4vYVFGwB%2BS-HtBmnas_TgY-pg@mail.gmail.com>
In-Reply-To: <irgcl2$91e$1@dough.gmane.org>
References:  <4DDBB0C4.5010109@FreeBSD.org> <irgcl2$91e$1@dough.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> Whatever you do, please leave at least some way (at least a tunable) to
> enable/disable HTT - some workloads are better with, and some without it,
> and some BIOSes are unreliable in enabling/disabling it :)

I noticed that disabling HTT via the machdep.hyperthreading_allowed
tunable resulted in worse performance than disabling HTT via the BIOS.
I'm not sure if that is to be expected due to how the scheduler
ignores those cores or what, but just an observation I found while
testing my i7 2600k to see if I should leave HTT on or off for my
particular workloads.

I was expecting only certain workloads to perform better with HTT on
and others better with it off. However, I haven't found a task that
performed better with HTT off. Some are almost equal (within a margin
of error), but most are faster with HTT enabled (see below for the
testing I did).

For the tests below, I used an mdmfs for /usr/obj for all
buildworld/buildkernel tests and they were all performed after caching
the contents of /usr/src. I also ran each test 5 times and for each
data point, I took the best run time. For the ffmpeg tests, I used
-threads 0 to let it pick the number of threads to use. It seems
hyperthreading on the Sandy Bridge i7 may be worth leaving enabled,
though of course what I've tested below is just a small sample of
possible tasks. So as with any benchmark, the only relevant tests are
the things you use your machine for :) My workloads happen to all
benefit from having HTT enabled.

Josh


buildworld (w/o HTT=-j5, w/HTT=-j11)
===============================
HTT off: 558.65 seconds
HTT on: 501.01 seconds

buildkernel (w/o HTT=-j5, w/HTT=-j7)
===============================
HTT off: 188.80 seconds
HTT on: 187.03 seconds

ffmpeg (10 min SD input - xvid/mp3)
===============================
HTT off: 7.75 seconds
HTT on: 6.28 seconds

ffmpeg (5 min 720p input - h264/aac)
===============================
HTT off: 20.08 seconds
HTT on: 12.97 seconds

ffmpeg (1 min 1080p input - h264/aac)
===============================
HTT off:  38.91 seconds
HTT on:  30.79 seconds



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTik8G4vYVFGwB%2BS-HtBmnas_TgY-pg>