[3336] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: Warning low DMA Buffers

daemon@ATHENA.MIT.EDU (Juergen Gaertner)
Sun Feb 15 07:13:35 1998

Date: 	Sun, 15 Feb 1998 13:10:58 +0100
From: Juergen Gaertner <gaertner@mbox.si.uni-hannover.de>
To: Eric Youngdale <eric@andante.jic.com>
CC: flavio santos <flavio@dtpdf.gov.br>, linux-scsi@vger.rutgers.edu

Eric Youngdale wrote:
> 
> On Fri, 13 Feb 1998, flavio santos wrote:
> 
...
> 
>         The reason I pointed you at the differences between sd.c and sr.c
> is that apparently someone in the past put a fix in so that if a similar
> situation came up with disk drives, that a different recovery strategy
> would be used (that doesn't involve printing a message).  The code is
> virtually identical between sd.c and sr.c, so all I am suggesting is that
> you transplant the handling code from sd.c into sr.c.
> 
> -Eric

By trying to get a driver for the WD719x cards to work, I often got messages
above DMA buffers. I got rid of it when I called "scsi_done" with interrupts
enabled. It also seems to me, that buffers stay allocated for a while, after the
driver has processed the command. 
Allthough WD719x is PCI-BusmasterDMA and the manual mentions that it is able to
reach all memory up to 2^32, the driver immediatly hangs the system, if I don't
scsi_init_malloc with the DMA-Flag. If I use kmalloc, I get rid of DMA buffer
problem, but driver hangs if I omit "GFP_DMA". The strange thing is, that
scsi_init_malloc itself calls kmalloc, but I read somewhere, that kmalloc won't
work in boot process. 
Perhaps somebody can explain me, where the buffer comes from, I get in
queuecommand function. Is this buffer above or under 16MB? The docu I found
mentions that this depends on "unchecked ISA DMA" Flag, but I also read that
this only affects cards on the ISA bus. 
Perhaps this is a silly question, but I'm only high-voltage engineer and not
programmer. Maybe someone can update the famous "scsi driver writing" paper
(dated '93 or something like this).


Gärti
-- 

                      public PGP key can be obtained via 
         "http://www.unics.uni-hannover.de/gaertner.juergen/pgp.asc"

home help back first fref pref prev next nref lref last post