Re: 2.4: high system load with SG_IO on IDE-SCSI: PIO?

Douglas Gilbert (dougg@torque.net)
Mon, 10 Mar 2003 15:35:50 +1000


Matthias Andree wrote:
> I have seen readcd ("sg driver 3.2.0") use 96% system time
> for a readcd -c2scan on IDE-SCSI (ATAPI CD-ROM, Plextor
> PX-4824TA 1.04, UDMA/33), Linux 2.4.19+SuSE patches
> (k_athlon-2.4.19-167).
>
> ...
> ioctl(3, 0x2285, 0xbfffec20) = 0
> ...
>
> The same application on a real SCSI-device with SCSI host
> adaptor (aic7xxx FWIW) is way below 5% system CPU time.
>
> Might SG_IO use PIO on ATAPI CD-ROMs? If so, are there
> patches to enable DMA? Is this at all possible with SG_IO?

> I find 96% system load is way too high for modern hardware.
> (Duron/700 that is, VIA 82C686a).

SG_IO is an ioctl in the sg driver that issues scsi commands
and waits for a response. The route from sg is through the
scsi mid level and via ide-scsi to the ide subsystem. Nothing
in the SG_IO ioctl interface addresses ATA DMA and PIO settings.
They can be changed via the hdparm ** command.

The experience from the early 2.4 series was that the ide
subsystem was too aggressive in its DMA settings for CD/DVD
burners. [My experience with scsi devices is that disks have
much better target implementations (i.e. more robust) than
CD/DVD devices and scanners.] Later versions of the 2.4 series
are a lot more conservative in their speed treatment of ATAPI
devices. The robustness comes at the expense of system load.

** Even though a CD writer appears as /dev/scd0 with ide-scsi
appropriately configured, the hdparm command can still be used
on /dev/hdd (for example, if the writer is the slave on the
second IDE bus).

Doug Gilbert

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/