Re: Feral ISP driver: dma map request problem
* Ulrich Harttig
> > But again I ran into a problem: Once a day I would get the
> > following error kernel message (20 to 30 of them).
> > kernel: pci_map_sg failed: could not allocate dma page tables
> > kernel: isp0: unable to dma map request
> > Afterwards the machine would work without any more of these
> > messages. But tonight the machine would hang after the dma
> > problem and had to be rebooted
> > Does anyone have an idea what the cause of the dma allocation
> > problem could be ? Faulty harddrives, faulty controller ??
> Hmm. It looks like the driver tried to do mapping as if the
> machine had a 32-bit address space. IIRC what it's supposed to
> do is when it grabs some memory for PCI DMA mapping, it's
> supposed to pass a flag signifying that the DMA region should be
> accessible via 32-bit physical addressing. Otherwise PCI
> devices would likely have some trouble getting to it!
> Apparently that flag didn't get passed somewhere, and the
> prospective DMA buffer got allocated way high in the 64-bit
> address space. So it couldn't be set up as a DMA buffer, and
> the kernel's PCI DMA mapper spit it back. By my understanding,
> that's a fairly common mistake when porting kernel drivers to
> 64-bit architectures.
> I'll take a look at the source code this afternoon and see what I
> can spot.
> For now I'd file a bug report with Matthew Jacob (email@example.com)
> and see what he says. I've found he's pretty good about responding
> to issues.
This thread petered out some months ago. Meanwhile, I've run into the
exact same problem on our Compaq Alphaserver DS10 466 MHz, running a
kernel.org 2.4.27 with the feral qlogic isp driver compiled into the
kernel (ie not as a module), in a md raid1 configuration.
kernel: pci_map_sg failed: could not allocate dma page tables
kernel: isp0: unable to dma map request
Sometimes, the machine continues somewhat to work, sometimes userspace
Did anybody go any further with this problem? Are there similar
problems with 2.6 kernels and the qlogic isp driver(s)?
# cat /proc/cpuinfo
cpu : Alpha
cpu model : EV6
cpu variation : 7
cpu revision : 0
cpu serial number :
system type : Tsunami
system variation : Webbrick
system revision : 0
system serial number :
cycle frequency [Hz] : 462962962
timer frequency [Hz] : 1024.00
page size [bytes] : 8192
phys. address bits : 44
max. addr. space # : 255
BogoMIPS : 921.84
kernel unaligned acc : 0 (pc=0,va=0)
user unaligned acc : 0 (pc=0,va=0)
platform string : COMPAQ AlphaServer DS10 466 MHz
cpus detected : 1
Many that live deserve death. And some that die deserve life. Can you
give it to them? Then do not be too eager to deal out death in
judgement. For even the very wise cannot see all ends.