|
YAFFS2 Development: msg#00008linux.file-systems.yaffs
Hi folks, I've been doing some work with very large MTD devices (many GB) and also with improving YAFFS2 performance on those. There are some MTD patches which will be forthcoming for 64-bit MTD (for which I needed to use a few do_div operations as YAFFS2/MTD code can't use convenient shifts) but in the meantime, here are some notes that I have on YAFFS2 - these are from my experiences on a custom backport to Montavista Linux Pro 3.1 (kernel 2.4.20). None of this is meant to criticise - I think YAFFS2 is amasingly cool - but here are some comments based on a particular effort. * YAFFS2 should not use any shortopcaches when on Linux. It seems to make little difference to performance (only negative). * YAFFS2 memory allocation using kmalloc does not work on very large devices and needs to use vmalloc instead in those cases (>2GB devices). The lack of checking for success proves to be a problem. * YAFFS2 has various internal usage of types which makes it difficult to scale to >2GB devices. We have to divide up into multiple partitions. * Andre Renaud latched onto a problem which I then rediscovered in performance testing. Having chunk groups of 16 reduces performance by at least 50% but in practice can be much higher. By applying a version of his patch, I was able ot reduce read time for a 50MB file from 27 seconds to around 15 seconds and have achieved sustained reads at 22.2Mbit/s on multi-GB devices reading many hundred MBs. * YAFFS2 makes use of some additional reads and memcpy's which don't seem entirely necessary - by combining and changing some of the logic it looks like we could get another 10% performance gain. Jon. |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | mkyaffs*image argument #3 optional: 00008, Todd Poynor |
|---|---|
| Next by Date: | Re: YAFFS2 Development: 00008, Charles Manning |
| Previous by Thread: | mkyaffs*image argument #3 optionali: 00008, Todd Poynor |
| Next by Thread: | Re: YAFFS2 Development: 00008, Charles Manning |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |