Accroding to the Tornado's help, I have finished two works:
first. I established a "dosFS" file system on the disk,then
read/write a file
send. I established a "rawFS" file system , then read/write a
file .
Both on these two file system, the "write" speed is about 4MB/s ,
the "read" speed is about 3.5MB/s. This is far slow form the Hard
Disk's performance. Why? How to improve it ?
I suspect perhaps that DMA is not enabled but there are probably other
factors as well.
The fact remains that 'out of the box' vxWorks IO performance (ATA, USB,
etc) is very slow. There are various tweaks you can try (using fwrite,
not using fwrite, changing cache size, enabling DMA) that will slow down
and speed up the out of box performance but you will never approach the
speed of other operating systems.
I suggest that you open a ticket though when you open the ticket, Wind
River will tell you that you are the only customer that has ever noticed
so there must be something wrong with you, your target or your code.
Actually, given that you are using an old version of vxWorks, what will
actually happen is they will tell you to updated because that will
surely solve it...Of course it won't.... That goodness you are paying
for support.
Signed,
A fairly loyal vxWorks user who has been frustrated for years by issues
such as this :)
As an added data point, I can attest to similar experiences, on all
counts. The worst part of this whole experience is that when asked
point blank what constitutes expected disk throughput performance,
they ignore the question.
In my case, I have a slower hard drive, so my problem is even more
acute (I'm lucky if I can manage 3 MBps in contrived situations). I
only wish this had been noticed earlier on in the project, so that we
could look at other solutions.
Please follow up with your further experiences, especially if you
discover any remedies.
Thanks,
Jason Marshall
When I used a old hard disk-------- a WD 6GB hard disk , none of
the file system can't be established.
but when I triede on a Seagate 160GB hard disk, the tail runs well.
If you don't have dcache enabled, that can help a bit with disk
contention if nothing else. And in the Tornado versions, there's a
function for tuning the dcache (dcacheDevTune or something to that
effect) that might help you out if you're using a big disk cache. The
built-in tuning parameters seem targeted to very modest cache sizes.
For big memory and large disks, there seems to be not enough write-
behind, and insufficient slots in the lookup table.
There appear to be some patches in the 6.X series that makes some
improvements to throughput, but that probably doesn't help you too
much (and it's not helping me very much either).
-Jason
DMA transfer is not supported in this release. If ATA_PIO_AUTO or
ATA_DMA_AUTO
is specified, the driver automatically chooses the maximum mode
supported by the
device. If ATA_PIO_MULTI or ATA_DMA_MULTI is specified, and the
device does
not support it, the driver automatically chooses single sector or word
mode.
If ATA_BITS_32 is specified, the driver uses 32-bit transfer mode
regardless of
the capability of the drive.
On 6 1 , 3 33 , "heartof...@gmail.com" <heartof...@gmail.com> wrote:
You're using a Celeron-based system, so you might luck out, if you're
at liberty to upgrade.
On Jun 15, 1:44 am, "heartof...@gmail.com" <heartof...@gmail.com>
wrote:
-Jason