PCI SIO devices hog interrupts, cause lock order problems

Andrew H. Derbyshire ahd at kew.com
Sun Aug 29 17:05:46 PDT 2004


Attached are two boot logs with sources as of today (Sunday 8/28/2004) with
both the standard GENERIC kernel configuration and the generic kernel
modified to include a single additional device, the PUC device.  The system
is a Dell GX300 Dual PIII/733 with PCI 3COM Ethernet, a 3COM internal modem,
and 29160 SCSI.  

Basically, any PCI SIO device hogs its interrupt if the PUC device is not
also in the kernel, and this causes real problems for any environment like
mine where pulling the modem is not trivial.  Does the distributed GENERIC
kernel have room for the PUC device?  Are there side effects that PUC should
be excluded from GENERIC?

As a bonus, there appears to be a bug with kernel locking exposed by the
problem.  With the stock generic kernel, the XL device reports it couldn't
map the interrupt, and then a lock order reversal is reported.  (See the
attached log for the gory details).

Suggestions?

The machine is pure test mode now.  I can test either CVS updated source or
private patches.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: generic.log
Type: application/octet-stream
Size: 9872 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040829/a0d1003b/generic-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: generic_puc.log
Type: application/octet-stream
Size: 5037 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040829/a0d1003b/generic_puc-0001.obj


More information about the freebsd-current mailing list