On Tue, 8 Aug 2000, Chris Meadors wrote:

> I posted before some SCSI errors that came from my machine running 4
> bonnie++s at the same time.
> 
> Those were generated with the default command queueing level set to 32 and
> the max level also at 32.
> 
> I preformed the same tests with the default level at 8 and the max at
> 32.  With those settings everything ran smooth.
> 
> Just to see what would happen I set the max to 255 (my RAID controller
> supports up to 1024 with 128MB of cache installed) and left the default at
> 32.  Everything also ran smoothly with these settings.
> 
> So what is the difference between default and max both at 32, and default
> 32 with max at 255?

The difference is that the driver will use 255 different tag values
allocated in a fifo manner, instead of 32. With a current queue depth
value of 32, tag numbers will not be reused until at least 255-32=222 IOs
have completed.

The way the driver allocates tag numbers was intended to avoid triggerring
races in firmwares. I donnot know where the race is, can be in the
firmware or in the kernel, but it seems some has been fished out.

If you want to play a bit, you may, for example, configure the driver for
some reasonnable MAXTAG value and try by dichotomy on the actual number of
tags used to get some information about the minimal number of used tags
that leads to breakage.

For example:
- MAXTAG=32
- Try tags=16, if OK try tags=24, if not OK try tags=20, and so on ...

  Gerard.


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to