[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-smp
Subject:    Re: mp_machdep.c patch
From:       John Baldwin <jhb () FreeBSD ! ORG>
Date:       2003-02-05 19:13:08
[Download RAW message or body]


On 05-Feb-2003 Brendon and Wendy wrote:
> Yep, the apic ids are the same with/without the htt patch.
> 
> When you say "is a problem with your motherboard" do you mean a physical 
> design flaw, a fault or a BIOS issue? It does run HTT under linux and winXP. 
> I dont have either of those OSes on the machine right now, so I cant dump the 
> diagnostic info. Linux did need the ACPI SMP information to find the 
> extra "cores".

Ok, then eventually 5.x will support HTT on this machine.  According to
what I've read in the IA-32 docs, the APIC ID's of logical cores are
supposed to be sequential, so your motherboard does seem at least somewhat
buggy.  Hrmm.

> Thanks for the reply.
> Brendon
> 
> 
> On Tuesday 04 February 2003 11:28 am, you wrote:
>> On 04-Feb-2003 Brendon and Wendy wrote:
>> > Hi,
>> >
>> > Saw the announce for the mp_machdep.c patch for hyperthreading.
>> > Installed, built kernel and world. Everything seems fine.
>> >
>> > Question - how does one determine whether the hyperthreading working? My
>> > DMESG is below, as well as output from top. Booting with HTT disabled
>> > looks the same to me.
>> >
>> > This is on a supermicro p4dce+ (i860) with 2x HTT 2.0G xeons.
>> >
>> > Cheers,
>> > Brendon
>> >
>> > Copyright (c) 1992-2003 The FreeBSD Project.
>> > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>> >         The Regents of the University of California. All rightands
>> > reserved. FreeBSD 4.7-STABLE #2: Mon Feb  3 18:35:10 PST 2003
>> >     root@bigboot.humphrey.world:/usr/obj/usr/src/sys/BRENDY-STABLE
>> > Timecounter "i8254"  frequency 1193182 Hz
>> > CPU: Intel(R) XEON(TM) CPU 2.00GHz (1982.52-MHz 686-class CPU)
>> >   Origin = "GenuineIntel"  Id = 0xf24  Stepping = 4
>> >
>> > Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,
>> >MCA,CMOV,PAT,PSE36,CLFLUS H,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
>> >   Hyperthreading: 2 logical CPUs
>> > real memory  = 536805376 (524224K bytes)
>> > avail memory = 517742592 (505608K bytes)
>> > Programming 24 pins in IOAPIC #0
>> > IOAPIC #0 intpin 2 -> irq 0
>> > FreeBSD/SMP: Multiprocessor motherboard
>> >  cpu0 (BSP): apic id:  0, version: 0x00050014, at 0xfee00000
>> >  cpu1 (AP):  apic id:  1, version: 0x00050014, at 0xfee00000
>> >  io0 (APIC): apic id:  2, version: 0x00178020, at 0xfec00000
>>
>> This set of APIC ID's is very odd and is your problem. :(  Is your
>> AP on apic id 1 when you booted up prior to having the HTT support?
>> My guess is that it is.  According to Intel, when you have HTT cores,
>> the APIC ID's of the cores in a physical processor are sequential.
>> The typical SMP + HTT setup I've seen is a physical cpu at ID 0
>> with it's 2nd core at ID 1 and the 2nd physical cpu at ID 6 with
>> it's 2nd core at ID 7.  The HTT core enumeration code assumes that
>> this is the case, and if it finds that any of the APIC ID's that
>> should be HTT cores are already in use by another physical CPU, it
>> doesn't turn on any of the HTT cores because it has no way of
>> talking to them. :)
>>
>> My guess is that this is a problem with your motherboard.  You still
>> have SMP, but it is just with one core per processor.
> 

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic