[949] in linux-scsi channel archive

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

Re: MD + NCR 53c7,8xx driver = death

daemon@ATHENA.MIT.EDU (Gerard Roudier)
Sat Nov 16 18:20:31 1996

Date: 	Sun, 17 Nov 1996 01:18:46 +0000 (GMT)
From: Gerard Roudier <groudier@club-internet.fr>
To: Dan Hollis <goemon@sasami.anime.net>
cc: linux-scsi@vger.rutgers.edu, linux-raid@vger.rutgers.edu
In-Reply-To: <Pine.LNX.3.95.961116132226.16731A-100000@sasami.anime.net>



Dan,

Finally, I am not surprised too much, but I think that the 53c7,8xx 
driver is not the only cause of the problem.

My guess, now:

The 53c7,8xx driver allocates all its internal command control blocks very 
early and 4 per device.

After all scsi devices has been scanned, the scsi middle driver call 
low-level drivers in order to select the queue depth for detected devices 
and then tries to resize its dma pool.
In my opinion, it tried to increase it, but some allocations failed because 
the 53c7,8xx driver just allocated too much reserved pages for GFP_ATOMIC 
priority and remaining is not enough.

If you donnot enable tagged command queueing, the ncr53c8xx driver 
allocates only 1 control block per device.

Can you give a try with tagged command queuing enabled in Linux config. 
In this case, the ncr53c8xx driver will allocate 4 control block per 
device that supports tagged commands and in my opinion your drives do  
support this feature.
(It allocates 1 control block at a time on command completion, so 4 scsi 
command completions will be necessary in order to allocate 4 control blocks)

Gerard.

On Sat, 16 Nov 1996, Dan Hollis wrote:

> On Sat, 16 Nov 1996, Gerard Roudier wrote:
> > On Sat, 16 Nov 1996, Dan Hollis wrote:
> > > Using the NCR 53c7,8xx driver with MD is certain death at the moment.
> > > 
> > > mkfs -t ext2 /dev/md0 starts up, gets to about block 39 then the kernel
> > > starts spewing hundreds of:
> > > 
> > > Warning - running *really* short on DMA buffers
> > > Warning - running *really* short on DMA buffers
> > > Warning - running *really* short on DMA buffers
> > > [ad infinitum]
> > > 
> > > The ported freeBSD ncr53c8xx works fine.
> > Obviously, my opinion is that the ncr53c8xx driver is better.
> > However, I would be surprised if the 53c7,8xx driver is the real cause of 
> > the problem you report.
> > 
> > Can you send the linux version, kernel config and scsi hardware description 
> > you are using?
> 
> Linux 2.0.25, P90, 64mb ram, PCI
> MD Support, RAID0 as module
> SCSI support as module
> SCSI disk support as module
> NCR53c7,8xx SCSI as module, with defaults
> NCR53C8XX as module, with defaults
> 
> news:~$ cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 01 Lun: 00
>   Vendor: SEAGATE  Model: ST43400N         Rev: 1027
>   Type:   Direct-Access                    ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 02 Lun: 00
>   Vendor: SEAGATE  Model: ST43400N         Rev: 1022
>   Type:   Direct-Access                    ANSI SCSI revision: 02
> Host: scsi0 Channel: 00 Id: 03 Lun: 00
>   Vendor: SEAGATE  Model: ST43400N         Rev: 1027
>   Type:   Direct-Access                    ANSI SCSI revision: 02
> 
> news:~# cat /proc/mdstat
> Personalities : [2 raid0]
> read_ahead 120 sectors
> md0 : active raid0 sda1 sdb1 sdc1 8528928 blocks 32k chunks
> md1 : inactive
> md2 : inactive
> md3 : inactive
> 
> With NCR53c7,8xx the system has problems.
> With NCR53C8XX the system has no problems.
 

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