Subject: Re: Hyperthreading Guidance
To: None <current-users@netbsd.org>
From: Jonathan Neill <TYR124840@tyler.net>
List: current-users
Date: 10/28/2003 22:04:12
----- Original Message -----
From: "Hubert Feyrer" <hubertf@gmx.de>
To: <current-users@netbsd.org>; "Frank van der Linden" <fvdl@netbsd.org>
Sent: Tuesday, October 28, 2003 9:25 PM
Subject: Re: Hyperthreading Guidance


> In article <20031028203855.A25155@vaasje.org> you wrote:
> >> The two "logical" CPUs are treated by the scheduler as ordinary
processors?
> >
> > They are, and that's why you're currently better off disabling HT.
> > Scheduling will be suboptimal. For example, if you have two runnable
> > processes, and one of them is running on a physical CPU, the other
> > one might be scheduled on the same physical CPU (using the 2nd virtual
> > CPU).
> >
> > The scheduler will require some reworking to avoid this.
>
> Um, what good is HT the if you cannot schedule things on it?

You can schedule stuff on it. HT makes one processor behave like it's
several processors on the same chip. Conventional MP, which is what the
scheduler currently believes all the world is like, knows no such thing.
Say, theoretically, that you have two hefty database processes or something
and two HT-enabled processors. Any load-balancing in the scheduler might
inappropriately put them both on different LOGICAL processors but the same
PHYSICAL processor: that is a bad idea, because a HT logical processor
shares resources with others on the same chip.
>
>
>  - Hubert (who just barely knows what HT means...)
>