[Yaffs-archive] Re: [YAFFS] slow performance --> Cache enabling

Charles Manning manningc2@actrix.gen.nz
Thu, 1 May 2003 06:15:31 +1200


YAFFSers

Edward's feedback was a big suprise to me as I would have expected the Linux 
cache to have done the job more effectively that the YAFFS cache. Also I 
would have expected the Linux cache to have aligned data in a way that 
bypassed the short op cache. Let me explain:

The YAFFS internal caching is what I called a "short operation cache". It is 
prettry basic and designed to give bang for bucks - a really simple cache 
that tries to benefit the worste case scenarios in environments that do not 
have a cache already (eg. in WinCE and YAFFS direct). 

The YAFFS internal cache only caches reads and writes which are not chunk 
(512 bytes) aligned. The Linux cache is page aligned, so I would therefore 
have expected the short op cache to be largely bypassed in Linux.


Apart from stopwatch timing, you can also see the effect by looking in 
/proc/yaffs at the cacheHits vs page reads and writes.

-- CHarles




On Thursday 01 May 2003 01:34, Edward J. Lee wrote:
> Well, I'm not so sure that you gave me a 'few' suggestions,
> but enabling caching (dev->nShortOpCaches=10;)surely did the trick.
> Thanks again :)
>
> Charles Manning wrote:
> >On Wednesday 30 April 2003 21:48, Edward J. Lee wrote:
> >>WOW. It works :)
> >>Thanks a lot, Charles.
> >>Now the operation takes about 3 seconds,
> >>which is a quite reasonable performance!
> >
> >Of the few things I suggested, what did you do that worked?
> >

---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.