halting HTT

Igor Sysoev is at rambler-co.ru
Tue Dec 2 01:45:38 PST 2003


On Mon, 1 Dec 2003, John Baldwin wrote:

> On 01-Dec-2003 Igor Sysoev wrote:
> > I had noticed that on Nov 11, 2003 in src/sys/i386/i386/mp_machdep.c
> > HTT CPUs are not halted by default.  What is the reason to do it ?
> > Is it not better to allow logical CPUs to handle interrupts ?
> 
> HTT CPUs were halted by default because we needed them to always be
> used to work around other bugs.  Since the other bugs are fixed, we
> no longer need HTT CPUs unless the user wants them.  If you disable
> HT in the BIOS for example, we no longer probe them.  Thus, it doesn't
> make sense to halt the CPUs if the user has explicitly asked for
> them.

Thank you for explanation.

But what is about a handling interrupts by logical CPUs ?
Could you recommend it or not ?
I think that a using logical CPUs decreases an overhead
while handling interrupts - main CPUs do not need to switch contexts.

> > Besides if I try to halting logical CPUs by machdep.hlt_cpus=10 or
> > machdep.hlt_logical_cpus=1 then computer is partially freezed, i.e
> > top that running in ssh session could contunue to run but I can not
> > login to computer anymore.
> > 
> > I'm using 5.1-CURRENT from 2003.11.28.00.00.00 and
> > machdep.logical_cpus_mask=10
> 
> I do not know why your machine freezes when you halt the logical
> CPUs.

I think it was because of SCHED_ULE. When I rebuild kernel with SCHED_4BSD
I can disable logical CPUs without freezing. 

I added Jeff Roberson to CC to notify him about SCHED_ULE freezing.


Igor Sysoev
http://sysoev.ru/en/



More information about the freebsd-smp mailing list