public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* ubifs, ubiblk(formatted with vfat) and yaffs2 test.
@ 2008-05-30  6:01 KeunO Park
  2008-05-30  6:33 ` Artem Bityutskiy
  2008-10-24 11:41 ` Artem Bityutskiy
  0 siblings, 2 replies; 19+ messages in thread
From: KeunO Park @ 2008-05-30  6:01 UTC (permalink / raw)
  To: linux-mtd

hello guys. I am a newbie here.

I am working in embedded device. and I handled some kind of flash
filesystem like yaffs2, jffs2, rfs on ONENAND/NAND and tffs on MDOC.
you know, in territory of mobile phone, mass storage class func
becomes basic function.

but well known linux flash filesystems do not support this function
except ubiblk.
(ok. rfs support MSC. but this is not opensourced.)
I need both ubifs(for system partition) and ubiblk(for user
partition). so I tested ubifs and ubiblk.

before you see this result, remember this is just the report of my test.


some days ago, I tested the performance of ubifs, ubiblk and yaffs2.
here is the result.

[test board]
cpu:s3c2448 400MHz sdram:64MB nand:128MB

the copying file is 10MB size and created with /dev/urandom.
so I think that there may be some disadvantage to ubifs using compressor.

[write test]

yaffs2
write: 10.20s, 12.09s, 12.24s avg:11.51s (868KB/s)
load avg right after copy&sync: 0.03 -> 0.11

ubifs (LZO)
write: 14.45s, 14.40s, 14.45s avg:14.43s (693KB/s)
load avg right after copy&sync: 0.03 -> 0.53

ubifs (ZLIB)
write : 27.17s, 27.18s, 27.21s avg:27.18 (367KB/s)
load avg right after copy&sync: 0.03 -> 0.80

ubifs (No Compression)
write: 6.69s, 10.90s, 10.98s avg:9.52s (1050KB/s)
load avg right after copy&sync: 0.03 -> 0.43

ubiblk(vfat mount)
read: 0.46s, 0.47s, 0.46s avg: 0.463s (21.5MB/s)
write: 12.13s, 14.95s, 12.61s avg:13.23s (755KB/s)
load avg right after copy&sync: 0.02 -> 0.31

With above result, it seems that there is some overload in ubi.


PS: I am not good at english. and english is not my native language.
so plz understand my wierd sentence. :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread
[parent not found: <5ed5c4730805291914h187e0b0et2de31d595b52f125@mail.gmail.com>]
* References:ubifs, ubiblk(formatted with vfat) and yaffs2 test
@ 2008-06-02  5:29 Nancy
  2008-06-02  6:18 ` ubifs, " Artem Bityutskiy
  0 siblings, 1 reply; 19+ messages in thread
From: Nancy @ 2008-06-02  5:29 UTC (permalink / raw)
  To: linux-mtd

Hi,
    Thank you for sharing your test report!
    For ubiblk,  cp; sync;  is not enough, cause ubiblk hold back a LEB
in ram until another logical block number LEB wants to use the
writecache(in ubiblk) or an block device layer "release" call will
drive the LEB in writecache to be written on Nand Flash.
    For FAT, when it write some files, usually, it modify FAT table
first, then goes the file contends, finally still need to change
something in FAT table or whatever it is which belongs to the
Filesystem meta data. That means, the last LEB hold back in ram
contains the most important data (filesystem meta data). If there
comes unclean reboot. That may lost lots of data. Though UBI tolerant
unclean reboot. In this case, you should use tool "dosfsck
/dev/ubiblockN -a" before you mount ubiblock again. And see what you
have lost!
    To be safe, you should do : cp...; sync; flushcache /dev/ubiblockN
    I'm not sure block device layer's Ioctl "BLKFLSBUF" use in this
way. Is there any command like sync, not just sync the buffer cache,
but also the buffer in dirver layer( call that ioctl :-)

/* flushcache.c  */
#include <sys/ioctl.h>
#include <linux/fs.h>
#include <fcntl.h>
#include <stdio.h>

int main(int argc,char **argv)
{
       int fd;

       if( argc != 2 ){
               printf( "Usage:%s device name(full path)\n", argv[0] );
               return -1;
       }

       if( (fd = open( argv[1], O_RDONLY ) ) == -1) {
               printf( "Open %s failed\n", argv[1] );
               return -1;
       }

       if( ioctl( fd, BLKFLSBUF) == -1)
               printf("flush catche failed\n");

       close(fd);
       return 0;
}


-- 
Best wishes,
Nancy

^ permalink raw reply	[flat|nested] 19+ messages in thread
[parent not found: <bae050c10806012138p6167f30eu9450563efa5429ab@mail.gmail.com>]

end of thread, other threads:[~2008-10-24 11:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-30  6:01 ubifs, ubiblk(formatted with vfat) and yaffs2 test KeunO Park
2008-05-30  6:33 ` Artem Bityutskiy
2008-05-30  7:15   ` KeunO Park
2008-05-30 11:34     ` Josh Boyer
2008-05-30 12:51       ` KeunO Park
2008-05-30 12:02     ` Artem Bityutskiy
2008-05-30 12:05       ` Artem Bityutskiy
2008-05-30 13:00         ` KeunO Park
2008-05-30 13:49           ` Artem Bityutskiy
2008-05-30 15:08             ` KeunO Park
2008-06-02  6:10               ` Artem Bityutskiy
2008-06-04  4:06                 ` KeunO Park
2008-06-04  8:05                   ` Artem Bityutskiy
2008-10-24 11:41 ` Artem Bityutskiy
     [not found] <5ed5c4730805291914h187e0b0et2de31d595b52f125@mail.gmail.com>
2008-05-30 15:17 ` KeunO Park
  -- strict thread matches above, loose matches on Subject: below --
2008-06-02  5:29 References:ubifs, " Nancy
2008-06-02  6:18 ` ubifs, " Artem Bityutskiy
2008-06-02  6:47   ` Nancy
     [not found] <bae050c10806012138p6167f30eu9450563efa5429ab@mail.gmail.com>
2008-06-02  5:55 ` KeunO Park
2008-06-02  6:06   ` Nancy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox