This is the mail archive of the mailing list for the eCos project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: The performance issue of FAT16 file system?

"James Jiao" <> writes:

> Hello, 
> I am a user of eCos FAT16 file system package, we ported the V85X CF
> disk package to another platform. But strange problems occur:
> 1. We run the fileio1 test for the FAT file system, the chdir(".")
> test failed!

How does it fail? does the chdir() itself fail, or is it the
checkcwd() ? Do the subsequent operations work?

> 2. When doing the maxfile() test, the file writting performance
> degrades quickly, that is to say, with the the increase of file
> length, the writting speed decereases quickly! At about 8 Megabytes
> file length's time, it costs the system about 5 seconds to write
> 100kilo-bytes while at the beginning of file creation, it only cost
> the system less than 1 second to write 100kilo-bytes.

This is a consequence of the FAT filesystem format. File clusters are
chained linearly through the FAT table. Each time a new cluster is
added, the chain must be followed down to the end. Beyond a certain
size there is not enough space in the cache to contain the entire FAT
table and it starts to turn over the entire cache each time.

You can try increasing the size of the cache, but this just delays the
point at which thrashing occurs, rather than eliminates it.

Nick Garnett                    eCos Kernel Architect      The eCos and RedBoot experts

Before posting, please read the FAQ:
and search the list archive:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]