Hyperthreading hurts 5.3?

Anthony Atkielski atkielski.anthony at wanadoo.fr
Thu Jan 13 13:05:30 PST 2005

Andrea Venturoli writes:

AV> I've come to the same conclusion. Still I can't put this together with
AV> 100% load on both processors. If, as someone said, there is only one
AV> FPU, *how* are these figures coming out???

The operating system tracks a dispatch of a processor into a process
thread.  After that, it has no idea whether the processor is actually
doing anything or not--from the OS' standpoint, the processor is
"running."  So if one thread in one logical processor is actually
executing instructions, and the other is stalled while waiting for a
shared resource in the processor, the OS will still consider both
threads to be "running" and will charge all of the elapsed time as
processor time ... giving you a figure of 100% busy.

AV> I would have expected something like 50%-50% (instead of 100%-0% of
AV> the single threaded version). *If* there is only one FPU, I'd expect
AV> both virtual processors being frequently idle waiting for each
AV> other.

Yes ... but the OS can't see that, and so OS monitoring tools can't
report it.


More information about the freebsd-questions mailing list