JFFS2 empty file overhead questions
dwmw2 at infradead.org
Wed May 8 04:46:48 EDT 2002
jlavi at iki.fi said:
> After creating 25531 the used space had grown to 3312 K. Initially it
> had been 320K. This would suggest the empty file size overhead on
> JFFS2 is (3312 - 320)*1024 / 25531 = 120.00 bytes.
Sounds about right.
((sizeof(struct jffs2_raw_dirent) + strlen(name) + 3) & ~3)
+ sizeof(struct jffs2_raw_inode)
Where sizeof(jffs2_raw_dirent) == 40, sizeof(jffs2_raw_inode) == 68.
> I also tracked the file creation time. This showed linear first
> degree dependence on the number of files created. On that particular
> device empty file creation (file open) time can be presented as a
> function t_c over the number of created files so far:
That one I can probably settle without seeing a profile -- we look through a
single (but sorted) linked list in jffs2_lookup(). We could consider
optimising that if it's a problem, but I suspect it's not in the real world.
> After 25519 files I couldn't track space usage with "df" anymore
> because it started to give out of memory message. After 26647 my test
> program couldn't run anymore because of out of memory. Needles to say,
> but my test program doesn't allocate memory nor leave files open when
> it proceeds.
cat /proc/slabinfo /proc/meminfo /proc/sys/fs/inode-nr
More information about the linux-mtd