Re: isp driver issues in SMP on NetBSD (fwd)

Thor Lancelot Simon <[email protected]> Tue, 16 Nov 2004 15:15:36 -0500
Newsgroups gmane.os.netbsd.devel.smp
Message-ID <[email protected]>
On Mon, Nov 15, 2004 at 01:36:55PM -0800, Matthew Jacob wrote:
> 
> Well, in this case something does seem to be getting stuck and even
> polled commands are timing out... Dunno what the story is. Maybe it
> *is* and SMP issue- I haven't been working with NetBSD for some months
> so I really don't know.

I saw problems much like this with not just isp but also i2o and mly
cards in a number of SMP x86 systems.  The common feature was that all
these drivers use threads.

Ultimately, all the problems went away when platform-specific interrupt
routing issues were resolved.  These often only affect MP configurations
because MP makes interrupt routing on i386 far more complicated and
exposes bugs both in our code and in hardware vendors' PCIBIOS, MPBIOS,
and ACPI implementations.  The problems are particularly likely to
occur in the presence of PCI-PCI bridges on cards that are, themselves,
on buses behind bridges... which is actually a not uncommon case when
you have a RAID controller (which often presents its main function
_behind_ an integrated PCI-PCI bridge) on a system with many PCI buses,
some of which are often themselves visibly bridged from bus 0.

The original poster might want to experiment with different combinations
of the MPBIOS and MPACPI options for finding and fixing-up PCI interrupt
routing.  For simplicity's sake, treat MPBIOS and MPACPI as mutually
exclusive options when building kernel config files...