Subject: Re: kern/29936: isp(4) with Qlogic 2312 FC HBA hangs with: "unable to load DMA (35)"
To: None <gnats-bugs@NetBSD.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: netbsd-bugs
Date: 04/10/2005 22:42:12
On Sun, Apr 10, 2005 at 07:36:00PM +0000, Greg A. Woods wrote:
> >Number:         29936
> >Category:       kern
> >Synopsis:       isp(4) with Qlogic 2312 FC HBA hangs with: "unable to load DMA (35)"
> >Confidential:   no
> >Severity:       critical
> >Priority:       high
> >Responsible:    kern-bug-people
> >State:          open
> >Class:          sw-bug
> >Submitter-Id:   net
> >Arrival-Date:   Sun Apr 10 19:36:00 +0000 2005
> >Originator:     Greg A. Woods
> >Release:        NetBSD 1.6.2_STABLE
> >Organization:
> Planix, Inc.; Toronto, Ontario; Canada
> >Environment:
> System: NetBSD 1.6.2_STABLE
> Architecture: alpha
> Machine: alpha
> 
> [...]
> >Description:
> 
> 	What a way to spoil a beautiful bright sunny spring weekend.
> 
> 	A filesystem hangs bringing the system into a state of very
> 	reduced functionality and the console says:
> 
> 	    isp1: unable to load DMA (35)

This is EAGAIN. My guess is that pci_sgmap_pte64_load() is in ressource
shortage.

> 	    sd6(isp1:0:1:0): adapter resource shortage

the scsipi subsystem will sleep for one second and try again, 5 times.

What is strange is that you say other isp devices don't have this problem.
If there is ressource shortage it should be for everyone using this sgamap.
If I understood it properly, the sgamap is per-tsp bus, which means that
the ressource shortage is only for devices on the pci1 bus.
I see you have lots of network adapters on pci1; it's possible that their
drivers allocate DMA ressources statically, causing this condition.
You should try to arrange to have all network devices on one PCI bus,
and all scsi ones on the second PCI bus.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--