[3487] in linux-scsi channel archive

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

Re: Devices limit problem

daemon@ATHENA.MIT.EDU (Eric Youngdale)
Sun Mar 8 23:49:06 1998

Date: 	Sun, 8 Mar 1998 23:47:04 -0500 (EST)
From: Eric Youngdale <eric@andante.jic.com>
To: Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
cc: Herve MORILLON <herve@doremilabs.com>, linux-scsi@vger.rutgers.edu
In-Reply-To: <199803080944.KAA00636@sunsite.ms.mff.cuni.cz>


On Sun, 8 Mar 1998, Jakub Jelinek wrote:

> > 
> >    Hello,
> > 
> >  I've a problem, i 'm writting a driver for SCSI Card Qlogic ISP2100.
> >  i write a module and everythings seems all right BUT i can't access
> >  more than two devices (i read on the HOWTO that room space was reserved
> > 
> > on boot).
> > 
> >  How could i do ?
> >     compile the kernel and change SD_EXTRA_DEVS to a new value ?
> >                                  (125 for FC/AL)
> 
> Well, if you don't run a kernel from vger CVS, you won't be able to use more
> than 16 SCSI disks anyway, so you can 
> #define SD_EXTRA_DEVS 16
> in drivers/scsi/hosts.h
> If you need more devices, then grab vger CVS tree. There is support for a
> lot of SCSI disks (tested with 27 disks), plus e.g. this ugly hack in
> hosts.h:
> 
> /*
>  * This is an ugly hack.  If we expect to be able to load devices at run time,
>  * we need to leave extra room in some of the data structures.  Doing a
>  * realloc to enlarge the structures would be riddled with race conditions,
>  * so until a better solution is discovered, we use this crude approach
>  *
>  * Even bigger hack for SparcSTORAGE arrays. Those are at least 6 disks, but
>  * usually up to 30 disks, so everyone would need to change this. -jj
>  */
> #ifdef CONFIG_SCSI_PLUTO_MODULE
> #define SD_EXTRA_DEVS 40
> #else
> #define SD_EXTRA_DEVS 4
> #endif
> 
> It is a hack, as e.g. if you have two or more SSA arrays, you can have many
> more disks. The real solution is to convert to pointer kdev_t, and get rid
> of all static arrays in block device subsystem. Then you'll be able to get
> rid of these constants easily...

	That part is a real pain in the neck as it turns out.   Most of
the gendisk layer needs to be redone/rethought, as there are lots of
arrays that are sized at boot time.   I redesign of some of the data
structures would be required before you could really get this working
properly.

	It isn't clear that with devfs that sparse minors would still be
required or not, but sparse minors would complicate the situation
significantly.

-Eric



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

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