Re: Scsi configuration

Gerard Roudier (groudier@club-internet.fr)
Thu, 3 Apr 1997 21:34:08 +0000 (GMT)


On Thu, 3 Apr 1997, Tekno Soft Snc wrote:

> Hi all,

Hi You!

> I've new DC-390F (NCR53C875) SCSI controller, and relative
> hdd SCSI Quantum Fireball 3.1Gb.
> I want know the correct configuration.

Your configuration is correct, however I would configure the driver
with maximum queued commands = 4. The Fireball has a small cache and
8 will probably not increase performance and perhaps decrease it.

> CONFIG_SCSI_NCR53C8XX=y
> # CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE is not set

Was enabled in your syslog messages.

> # CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
> CONFIG_SCSI_NCR53C8XX_MAX_TAGS=8
Set it to 4

> CONFIG_SCSI_NCR53C8XX_SYNC=20
> # CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT is not set
> # CONFIG_SCSI_NCR53C8XX_SYMBIOS_COMPAT is not set

> testing it with hdparm:
>
> # hdparm -t /dev/sda
>
> /dev/sda:
> Timing buffered disk reads: 16 MB in 5.18 seconds = 3.09 MB/sec

Seems you exactly get half the sustained data rate, the HD is able too.
My first idea is that read-ahead size and/or the number of tagged commands
are perhaps too large for this HD that does not have a large cache.
I assume that read caching is enable, but you should verify this with
the 'scsi-config' tool.

You should probably try the following:

1 - Do the same test with tagged command queuing disabled.

2 - Reduce the read ahead size used in block mode operation.

3 - Use iozone benchmark which measures speed through the file system and
so will get benefits of asynchronous read-ahead.

The following (not yet compiled) code should set the read-ahead size
for block mode to 60 sectors (default is 120).

-------------------------------------------------------------------
int fd;
char *dev_name;
int ra_sectors;

dev_name = "/dev/sda";
ra_sectors = 60;

fd = open(dev_name, O_RDONLY);
if (fd == -1) {
fprintf(stderr, "can't open %s for reading\n", dev_name);
exit(1);
}

if (ioctl(fd, BLKRASET, ra_sectors) == -1) {
fprintf(stderr, "can't tune read ahead size\n");
exit(1);
}
----------------------------------------------------------------

Gerard.