Chris wrote:
> Is there any "low hanging fruit" to be had as far as compromising on
> certain file system performance aspects, but gaining a much more
> aggressive memory footprint?
If you can accept the higher wastage you could move to larger virtual
blocks: you could do this without touching the guts of the filesystem by
creating a funky NAND driver which exposed a larger page size (say 8k or
16k, or perhaps even as large as a single eraseblock) to YAFFS.
As every page of every file requires a Tnode entry, you've then at a
stroke cut the number of entries required by a factor of four or eight.
You've perhaps also shrunk the size of a single Tnode, and hence a few
more bytes off every Tnode group of every file, if your NAND array had
2^16 or more physical pages. (This wouldn't help if your filesystem
comprised mainly small files, as I think the per-object overhead would
dominate?)
Such a driver might conceivably be written as an intervening layer -
that is to say, pretending to YAFFS to be an MTD device and itself
talking to the real MTD device - which would I think be a good candidate
to be contributed.
Ross
--
eCosCentric Ltd, Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK
Registered in England no. 4422071. www.ecoscentric.com