Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Dec 2002 23:01:41 -0500 (EST)
From:      "Michael Richards" <michael@fastmail.ca>
To:        tlambert2@mindspring.com
Cc:        freebsd-smp@freebsd.org, jhb@FreeBSD.org
Subject:   Re: Intel SE7500CW2 narrowed down...
Message-ID:  <3DEECFA5.000013.43946@ns.interchange.ca>

next in thread | raw e-mail | index | archive | help

--------------Boundary-00=_TIOMMBOYA1UMYJ0CCJD0
Content-Type: Text/Plain
Content-Transfer-Encoding: 7bit

> John Baldwin wrote:
>> Terry.  We are having problems sending _interprocess_interrupts_.
>> IPI's do _not_ go through the IO APIC.  They are sent from one
>> local APIC over to another local APIC.  The problems we are
>> seeing have nothing to do with I/O interrupts.  The box runs fine
>> with one processor and using the I/O APIC if you ignore the
>> failure of the AP to respond to the startup IPI.
> 
> This is the "ServerwWorks related lockup", not the "Second
> processor does not start, and so does not grab Giant, so system
> does not lock up" thing, right?

Looks to me like the AP doesn't start and therefore never signals the 
main thread. As a result it times out and offers to panic. If you 
tell it not to it starts just fine in uniprocessor mode.

> The easy way to prove your thesis is to send a broadcast IPI.  You
> only have 2 CPUs in that box, anyway.  If it starts working then
> you are right.

If you send a broadcast init IPI and then sit in the loop waiting for 
all the different APs to increment the CPU number wouldn't this be 
not only compatable with FreeBSD's way of doing things, but also a 
tad cleaner.

> I think the serverworks chipset can only run in 2 of the 4 modes,
> at least as programmed by the BIOS, and goes off in the weeds,
> otherwise (the first thing an AP does is grab giant, which means
> it tries to grab the interrupts, as a side effect).  It may be
> that the chipset is plain busted.  Note that one of the OS's that
> works doesn't run in APIC I/O mode at all, and the other OS that
> works runs in virtual wire mode.

Is this a well known detail of the chipset? If so, where has it been 
documented? Although I've played around a lot with micros and other 
embedded designs I'm not totally up to speed on this. I've done a lot 
of searching for writeups on this board and chipset but not really 
found anything. Unless you happen to work for Intel or something and 
have access to something I don't I'd love to have a read and see what 
I can learn.

-Michael
_________________________________________________________________
    http://fastmail.ca/ - Fast Secure Web Email for Canadians
--------------Boundary-00=_TIOMMBOYA1UMYJ0CCJD0--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DEECFA5.000013.43946>