Power Developer
https://www.powerdeveloper.org/forums/

Poor ide performances
https://www.powerdeveloper.org/forums/viewtopic.php?f=12&t=1631
Page 1 of 1

Author:  Giammarco [ Wed Oct 29, 2008 9:07 am ]
Post subject:  Poor ide performances

Hi all,

i noticed that Efika's ide controller has poor performances.

I am using opensuse 11.0 with a CF card as mass storage and a simple dd if=/dev/zero of=/dev/sda2 gives 900 kB/s as speed. Recompiling the kernel with a cross toolchain tuned for 603e processors gives more or less twice the transfer speed, but still very far from the 20 MB/s i obtain with the same CF and a USB reader my Desktop PC.

Is there some room for performance improvement?

Regards,

Giammarco

Author:  Neko [ Wed Oct 29, 2008 9:36 am ]
Post subject:  Re: Poor ide performances

Quote:
Is there some room for performance improvement?
Yes, and No.

There are some hardware bugs in the ATA controller pertaining to the ATA FIFO alarm, and the ATA state machine, in the MPC5200B which make UDMA disk access sort of dangerous.

However there is a Linux patch written by Tim Yamin that enables it anyway; and sets some egregious BestComm ATA initiator priority to do it.. he and a few others report no problems, but I guarantee you will not be able to experience clear audio output while disk activity is happening :)

Also however there are mails like this one which do not inspire confidence!

I personally approve the patch as it will show people there really is a problem :D

There is a way to get better performance; instead of using UDMA, use disk PIO4 mode, but use the BestComm engine to transfer data to and from the disk and FIFO under CPU control. This does not mean you will ever see 20MB/s (or anything near 33MB/s) but 8-10MB/s with the CPU not constantly engaged in marshalling disk activity is a good performance compromise.

Nobody has stepped up to the plate to port the DMA-assisted PIO operation to libata, so the performance will still suck until it's done. Ideally you'd implement PIO-DMA as a real PIO mode (therefore you could have Tim Yamin's patch installed and enabled, but use libata.nodma=1 to get DMA-assisted PIO)

DMA-assisted PIO is not some magic thing for the MPC5200B either, Intel AHCI and Silicon Image controllers implement something similar to offload certain disk activity (it's not possible to send ATA commands using UDMA, for example, so this can still be offloaded by passing the command block to the system DMA unit and having it shunt to the ATA controller, and the functionality exists basically so that in the event of nasty UDMA errors on a disk, reliable yet still reasonable operation can still be maintained on high performance servers (for instance, rebuilding a RAID array) using these controllers)

Page 1 of 1 All times are UTC-06:00
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/