Performance issue with 5.4-RELEASE-p8 but not with 5.4-RELEASE

Robert Watson rwatson at FreeBSD.org
Tue Oct 25 08:12:11 PDT 2005


On Tue, 25 Oct 2005, Lukas Razik wrote:

>> 
>> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/mp_machdep.c?only_with_tag=RELENG_5_4
>>
>>   "Add a knob for disabling/enabling HTT, 
>> "machdep.hyperthreading_allowed".
>>    Default off due to information disclosure on multi-user systems."
>>
>> Does turning HTT back on fix the regression?
>
> Yes, it does! :-) Many thanks!!! Nice to know this important detail...

It would be quite interesting to know if you see the same problem in 6.0 
or not.  One of the things that is turned on in 6.0 by default is kernel 
preemption -- it was off in the 5.x series for stability reasons, as it 
depends on a fair amount of locking refinement, etc.  One of the impacts 
of having four logical processors instead of two is that when interrupts 
come in, a logical processor is more likely to be free, so the ithread may 
start running earlier on 5.x if HTT is on, as it will get scheduled to 
another CPU.  In 6.x, it can simply preempt any currently running kernel 
code, meaning it runs faster.  So in 5.x, with a somewhat busy kernel, you 
see quite a bit lower interrupt processing latency with more processors, 
whereas in 6.x, it is consistently a lot lower because the ithread can run 
much more quickly regardless of the number of processors.

(This isn't 100% true, but it's fairly true).

Robert N M Watson


More information about the freebsd-performance mailing list