[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201211101933.38434.Martin@lichtvoll.de>
Date: Sat, 10 Nov 2012 19:33:37 +0100
From: Martin Steigerwald <Martin@...htvoll.de>
To: linux-kernel@...r.kernel.org
Cc: Kim Jaegeuk <jaegeuk.kim@...il.com>,
Jaegeuk Kim <jaegeuk.kim@...sung.com>,
linux-fsdevel@...r.kernel.org, gregkh@...uxfoundation.org,
viro@...iv.linux.org.uk, arnd@...db.de, tytso@....edu,
chur.lee@...sung.com, cm224.lee@...sung.com,
jooyoung.hwang@...sung.com
Subject: Re: [PATCH 00/16 v3] f2fs: introduce flash-friendly file system
Am Freitag, 2. November 2012 schrieb Kim Jaegeuk:
> 2012/11/2 Martin Steigerwald <Martin@...htvoll.de>
>
> > Am Mittwoch, 31. Oktober 2012 schrieb Jaegeuk Kim:
> > > Change log from v2:
> > > o Fix compilation error for arm [Max]
> > > o Move proc entries to debugfs [Greg]
> > > o Add i_atime, i_generation, etc [Neil]
> > > o Support NFS export [Changman]
> > > o Move the f2fs magic number [Marco]
> > > o Add s_time_gran [Marco]
> > > o Fix f2fs_truncate [Marco]
> > > o Enhance f2fs document [Vyacheslav]
> > > o Support uuid and add additional comments [Vyacheslav]
> > > o Change superblock offset [Vyacheslav]
> > > o Fix some bugs and return values [Vyacheslav]
> > > o Improve initial mount time [Jaegeuk]
> > > o Fix f2fs-tools environment [Mike]
> > >
> > > I've set up a git tree in sf.net for f2fs-tools.
> > > Please download f2fs-tools by tag: for_patch_set_v3.
> >
> > I like to try this out.
> >
> > Do you have kernel code available in some git repo? I didn´t find
> > anything on git.kernel.org? Otherwise I take the patches from your
> > mails.
>
> At this moment, there is no f2fs-repo yet in public.
> If f2fs is merged, I'd like to make a dev tree somewhere.
> I really want to make the dev tree in kernel.org later, but it totally
> depends on the maintainers' decision.
> Before then, I apologize to retrieve f2fs sources from LKML.
After getting behind an USB blocks a CPU on my laptop problem I tried f2fs.
Some first tests on a 2GB extrememory USB 2.0 stick:
[ 239.731162] usb 1-1.1: new high-speed USB device number 8 using ehci_hcd
[ 239.818325] usb 1-1.1: New USB device found, idVendor=1307, idProduct=0163
[ 239.818339] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 239.818346] usb 1-1.1: Product: USB Mass Storage Device
[ 239.818352] usb 1-1.1: Manufacturer: USBest Technology
[ 239.818357] usb 1-1.1: SerialNumber: […]
[ 239.820595] scsi9 : usb-storage 1-1.1:1.0
[ 240.821487] scsi 9:0:0:0: Direct-Access TinyDisk 2007-05-12 0.00 PQ: 0 ANSI: 2
[ 240.825217] sd 9:0:0:0: Attached scsi generic sg2 type 0
[ 240.826318] sd 9:0:0:0: [sdb] 4095999 512-byte logical blocks: (2.09 GB/1.95 GiB)
[ 240.827126] sd 9:0:0:0: [sdb] Write Protect is off
[ 240.827143] sd 9:0:0:0: [sdb] Mode Sense: 00 00 00 00
[ 240.828161] sd 9:0:0:0: [sdb] Asking for cache data failed
[ 240.828174] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[ 240.833414] sd 9:0:0:0: [sdb] Asking for cache data failed
[ 240.833428] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[ 240.894728] sdb: unknown partition table
[ 240.899104] sd 9:0:0:0: [sdb] Asking for cache data failed
[ 240.899109] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[ 240.899113] sd 9:0:0:0: [sdb] Attached SCSI removable disk
merkaba:~> fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x7babe038.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4095998, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4095998, default 4095998):
Using default value 4095998
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
merkaba:~> dmesg | tail -1
[ 276.342638] sdb: sdb1
merkaba:~> mkfs.f2fs /dev/sdb1
Info: sector size = 512
Info: total sectors = 4093951 (in 512bytes)
Info: zone aligned segment0 blkaddr: 256
Info: This device doesn't support TRIM
Info: format successful
merkaba:~> mount /dev/sdb1 /mnt/zeit
mount: you must specify the filesystem type
merkaba:~#32> mount -t f2fs /dev/sdb1 /mnt/zeit
merkaba:~> df -hT /mnt/zeit
Dateisystem Typ Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sdb1 f2fs 2,0G 147M 1,8G 8% /mnt/zeit
merkaba:~> dd if=/dev/zero of=/mnt/zeit/zeros bs=1M count=200 conv=fsync
200+0 Datensätze ein
200+0 Datensätze aus
209715200 Bytes (210 MB) kopiert, 14,4896 s, 14,5 MB/s
merkaba:~> echo 3 > /proc/sys/vm/drop_caches; dd if=/mnt/zeit/zeros of=/dev/null bs=1M count=200
200+0 Datensätze ein
200+0 Datensätze aus
209715200 Bytes (210 MB) kopiert, 8,7358 s, 24,0 MB/s
merkaba:~> umount /mnt/zeit
merkaba:~> mkfs.ext4 /dev/sdb1
mke2fs 1.42.5 (29-Jul-2012)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
Stride=0 Blöcke, Stripebreite=0 Blöcke
128000 Inodes, 511743 Blöcke
25587 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=524288000
16 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
8000 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
32768, 98304, 163840, 229376, 294912
Platz für Gruppentabellen wird angefordert: erledigt
Inode-Tabellen werden geschrieben: erledigt
Erstelle Journal (8192 Blöcke): erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt
merkaba:~> mount /dev/sdb1 /mnt/zeit
merkaba:~> df -hT /mnt/zeit
Dateisystem Typ Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sdb1 ext4 2,0G 35M 1,8G 2% /mnt/zeit
merkaba:~> dd if=/dev/zero of=/mnt/zeit/zeros bs=1M count=200 conv=fsync
200+0 Datensätze ein
200+0 Datensätze aus
209715200 Bytes (210 MB) kopiert, 17,8875 s, 11,7 MB/s
merkaba:~> echo 3 > /proc/sys/vm/drop_caches; dd if=/mnt/zeit/zeros of=/dev/null bs=1M count=200
200+0 Datensätze ein
200+0 Datensätze aus
209715200 Bytes (210 MB) kopiert, 8,76721 s, 23,9 MB/s
merkaba:~> umount /mnt/zeit
So writing appears to be faster with large block sizes. But this was just
one iteration, so that would need to be verified by several subsequent
runs.
merkaba:~> mkfs.f2fs /dev/sdb1
Info: sector size = 512
Info: total sectors = 4093951 (in 512bytes)
Info: zone aligned segment0 blkaddr: 256
Info: This device doesn't support TRIM
Info: format successful
merkaba:~> mount -t f2fs /dev/sdb1 /mnt/zeit
merkaba:~> fio /tmp/usb-stick.job
seq-read: (g=0): rw=read, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
rand-read: (g=1): rw=randread, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
seq-write: (g=2): rw=write, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
rand-write: (g=3): rw=randwrite, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
2.0.8
Starting 4 processes
seq-read: Laying out IO file(s) (1 file(s) / 512MB)
Jobs: 1 (f=1): [___w] [57.2% done] [0K/703K /s] [0 /175 iops] [eta 03m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=7819
read : io=470600KB, bw=7843.8KB/s, iops=1960 , runt= 60002msec
slat (usec): min=2 , max=176 , avg=16.70, stdev= 9.41
clat (usec): min=632 , max=37073 , avg=2018.40, stdev=237.35
lat (usec): min=678 , max=37106 , avg=2035.70, stdev=237.23
clat percentiles (usec):
| 1.00th=[ 1848], 5.00th=[ 1928], 10.00th=[ 1960], 20.00th=[ 1960],
| 30.00th=[ 1976], 40.00th=[ 1976], 50.00th=[ 1992], 60.00th=[ 1992],
| 70.00th=[ 2008], 80.00th=[ 2096], 90.00th=[ 2128], 95.00th=[ 2224],
| 99.00th=[ 2384], 99.50th=[ 2480], 99.90th=[ 2768], 99.95th=[ 3088],
| 99.99th=[ 6880]
bw (KB/s) : min= 7080, max= 7992, per=100.00%, avg=7849.21, stdev=89.82
lat (usec) : 750=0.01%, 1000=0.01%
lat (msec) : 2=64.51%, 4=35.48%, 10=0.01%, 50=0.01%
cpu : usr=1.65%, sys=5.03%, ctx=89829, majf=0, minf=26
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=117650/w=0/d=0, short=r=0/w=0/d=0
rand-read: (groupid=1, jobs=1): err= 0: pid=7828
read : io=344332KB, bw=5738.6KB/s, iops=1434 , runt= 60003msec
slat (usec): min=3 , max=298 , avg=18.09, stdev= 9.59
clat (usec): min=887 , max=6981 , avg=2764.00, stdev=694.65
lat (usec): min=995 , max=6996 , avg=2782.73, stdev=694.59
clat percentiles (usec):
| 1.00th=[ 1848], 5.00th=[ 1960], 10.00th=[ 1976], 20.00th=[ 2096],
| 30.00th=[ 2128], 40.00th=[ 2608], 50.00th=[ 2736], 60.00th=[ 2832],
| 70.00th=[ 2928], 80.00th=[ 3376], 90.00th=[ 3600], 95.00th=[ 4128],
| 99.00th=[ 4832], 99.50th=[ 5024], 99.90th=[ 5728], 99.95th=[ 6112],
| 99.99th=[ 6688]
bw (KB/s) : min= 5632, max= 5800, per=100.00%, avg=5742.82, stdev=27.33
lat (usec) : 1000=0.01%
lat (msec) : 2=13.36%, 4=80.18%, 10=6.46%
cpu : usr=1.42%, sys=4.42%, ctx=87501, majf=0, minf=25
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=86083/w=0/d=0, short=r=0/w=0/d=0
seq-write: (groupid=2, jobs=1): err= 0: pid=7832
write: io=40480KB, bw=690824 B/s, iops=168 , runt= 60003msec
slat (msec): min=1 , max=71 , avg= 5.91, stdev=11.88
clat (usec): min=11 , max=77132 , avg=17788.60, stdev=18686.66
lat (msec): min=2 , max=111 , avg=23.70, stdev=21.99
clat percentiles (usec):
| 1.00th=[ 6368], 5.00th=[ 6688], 10.00th=[ 6816], 20.00th=[ 6944],
| 30.00th=[ 7008], 40.00th=[ 7072], 50.00th=[ 7136], 60.00th=[ 7200],
| 70.00th=[ 7456], 80.00th=[39168], 90.00th=[39680], 95.00th=[39680],
| 99.00th=[76288], 99.50th=[76288], 99.90th=[77312], 99.95th=[77312],
| 99.99th=[77312]
bw (KB/s) : min= 597, max= 726, per=100.00%, avg=675.17, stdev=47.46
lat (usec) : 20=0.01%
lat (msec) : 4=0.01%, 10=71.88%, 50=23.42%, 100=4.68%
cpu : usr=0.49%, sys=2.05%, ctx=10731, majf=0, minf=22
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=10120/d=0, short=r=0/w=0/d=0
rand-write: (groupid=3, jobs=1): err= 0: pid=7875
write: io=40212KB, bw=686021 B/s, iops=167 , runt= 60023msec
slat (msec): min=2 , max=71 , avg= 5.95, stdev=11.94
clat (usec): min=10 , max=77297 , avg=17916.27, stdev=18776.67
lat (msec): min=8 , max=111 , avg=23.87, stdev=22.09
clat percentiles (usec):
| 1.00th=[ 6560], 5.00th=[ 6816], 10.00th=[ 6944], 20.00th=[ 7008],
| 30.00th=[ 7072], 40.00th=[ 7136], 50.00th=[ 7200], 60.00th=[ 7264],
| 70.00th=[ 7520], 80.00th=[39168], 90.00th=[39680], 95.00th=[39680],
| 99.00th=[76288], 99.50th=[77312], 99.90th=[77312], 99.95th=[77312],
| 99.99th=[77312]
bw (KB/s) : min= 582, max= 718, per=100.00%, avg=670.32, stdev=44.67
lat (usec) : 20=0.01%
lat (msec) : 10=71.85%, 50=23.46%, 100=4.69%
cpu : usr=0.46%, sys=2.14%, ctx=10674, majf=0, minf=21
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=10053/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
READ: io=470600KB, aggrb=7843KB/s, minb=7843KB/s, maxb=7843KB/s, mint=60002msec, maxt=60002msec
Run status group 1 (all jobs):
READ: io=344332KB, aggrb=5738KB/s, minb=5738KB/s, maxb=5738KB/s, mint=60003msec, maxt=60003msec
Run status group 2 (all jobs):
WRITE: io=40480KB, aggrb=674KB/s, minb=674KB/s, maxb=674KB/s, mint=60003msec, maxt=60003msec
Run status group 3 (all jobs):
WRITE: io=40212KB, aggrb=669KB/s, minb=669KB/s, maxb=669KB/s, mint=60023msec, maxt=60023msec
Disk stats (read/write):
sdb: ios=174042/20172, merge=29691/0, ticks=412897/117376, in_queue=529790, util=98.65%
merkaba:~> umount /mnt/zeit
merkaba:~> mkfs.ext4 /dev/sdb1
mke2fs 1.42.5 (29-Jul-2012)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
[…]
merkaba:~> mount /dev/sdb1 /mnt/zeit
merkaba:~> fio /tmp/usb-stick.job
seq-read: (g=0): rw=read, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
rand-read: (g=1): rw=randread, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
seq-write: (g=2): rw=write, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
rand-write: (g=3): rw=randwrite, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=4
2.0.8
Starting 4 processes
seq-read: Laying out IO file(s) (1 file(s) / 512MB)
Jobs: 1 (f=1): [___w] [57.2% done] [0K/131K /s] [0 /32 iops] [eta 03m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=8271
read : io=467860KB, bw=7797.5KB/s, iops=1949 , runt= 60002msec
slat (usec): min=2 , max=933 , avg=18.24, stdev=10.59
clat (usec): min=728 , max=112945 , avg=2028.78, stdev=911.01
lat (usec): min=775 , max=112959 , avg=2047.63, stdev=910.94
clat percentiles (usec):
| 1.00th=[ 1864], 5.00th=[ 1944], 10.00th=[ 1960], 20.00th=[ 1960],
| 30.00th=[ 1976], 40.00th=[ 1976], 50.00th=[ 1976], 60.00th=[ 1992],
| 70.00th=[ 2008], 80.00th=[ 2096], 90.00th=[ 2128], 95.00th=[ 2224],
| 99.00th=[ 2384], 99.50th=[ 2480], 99.90th=[ 2864], 99.95th=[ 3184],
| 99.99th=[55040]
bw (KB/s) : min= 5538, max= 7984, per=100.00%, avg=7805.33, stdev=262.86
lat (usec) : 750=0.01%, 1000=0.01%
lat (msec) : 2=64.92%, 4=35.05%, 10=0.01%, 50=0.01%, 100=0.01%
lat (msec) : 250=0.01%
cpu : usr=1.58%, sys=5.43%, ctx=89023, majf=0, minf=26
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=116965/w=0/d=0, short=r=0/w=0/d=0
rand-read: (groupid=1, jobs=1): err= 0: pid=8282
read : io=334860KB, bw=5580.8KB/s, iops=1395 , runt= 60003msec
slat (usec): min=4 , max=346 , avg=23.79, stdev=11.60
clat (usec): min=819 , max=7300 , avg=2835.92, stdev=710.54
lat (usec): min=945 , max=7318 , avg=2861.00, stdev=710.61
clat percentiles (usec):
| 1.00th=[ 1912], 5.00th=[ 1976], 10.00th=[ 2064], 20.00th=[ 2096],
| 30.00th=[ 2224], 40.00th=[ 2704], 50.00th=[ 2832], 60.00th=[ 2864],
| 70.00th=[ 2992], 80.00th=[ 3472], 90.00th=[ 3696], 95.00th=[ 4192],
| 99.00th=[ 4960], 99.50th=[ 5216], 99.90th=[ 5856], 99.95th=[ 6240],
| 99.99th=[ 6816]
bw (KB/s) : min= 5504, max= 5640, per=100.00%, avg=5584.81, stdev=22.35
lat (usec) : 1000=0.01%
lat (msec) : 2=7.52%, 4=85.09%, 10=7.39%
cpu : usr=1.77%, sys=5.29%, ctx=86411, majf=0, minf=25
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=83715/w=0/d=0, short=r=0/w=0/d=0
seq-write: (groupid=2, jobs=1): err= 0: pid=8301
write: io=53900KB, bw=919295 B/s, iops=224 , runt= 60039msec
slat (usec): min=3 , max=87697 , avg=91.25, stdev=1634.30
clat (msec): min=2 , max=126 , avg=17.72, stdev=20.48
lat (msec): min=2 , max=135 , avg=17.81, stdev=20.61
clat percentiles (msec):
| 1.00th=[ 7], 5.00th=[ 7], 10.00th=[ 7], 20.00th=[ 7],
| 30.00th=[ 7], 40.00th=[ 8], 50.00th=[ 8], 60.00th=[ 8],
| 70.00th=[ 8], 80.00th=[ 39], 90.00th=[ 40], 95.00th=[ 80],
| 99.00th=[ 81], 99.50th=[ 81], 99.90th=[ 85], 99.95th=[ 90],
| 99.99th=[ 125]
bw (KB/s) : min= 780, max= 958, per=100.00%, avg=897.22, stdev=22.03
lat (msec) : 4=0.08%, 10=74.52%, 20=0.03%, 50=19.01%, 100=6.32%
lat (msec) : 250=0.04%
cpu : usr=0.60%, sys=1.69%, ctx=10666, majf=0, minf=22
IO depths : 1=0.1%, 2=0.1%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=13475/d=0, short=r=0/w=0/d=0
rand-write: (groupid=3, jobs=1): err= 0: pid=8672
write: io=7520.0KB, bw=128085 B/s, iops=31 , runt= 60120msec
slat (usec): min=12 , max=132582 , avg=662.60, stdev=8065.44
clat (msec): min=6 , max=314 , avg=127.16, stdev=41.47
lat (msec): min=6 , max=314 , avg=127.82, stdev=41.47
clat percentiles (msec):
| 1.00th=[ 38], 5.00th=[ 64], 10.00th=[ 77], 20.00th=[ 94],
| 30.00th=[ 99], 40.00th=[ 120], 50.00th=[ 127], 60.00th=[ 131],
| 70.00th=[ 149], 80.00th=[ 159], 90.00th=[ 182], 95.00th=[ 202],
| 99.00th=[ 247], 99.50th=[ 251], 99.90th=[ 306], 99.95th=[ 314],
| 99.99th=[ 314]
bw (KB/s) : min= 98, max= 143, per=99.86%, avg=124.83, stdev= 7.49
lat (msec) : 10=0.05%, 20=0.05%, 50=2.61%, 100=29.41%, 250=67.13%
lat (msec) : 500=0.74%
cpu : usr=0.16%, sys=0.34%, ctx=1904, majf=0, minf=20
IO depths : 1=0.1%, 2=0.1%, 4=99.8%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=1880/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
READ: io=467860KB, aggrb=7797KB/s, minb=7797KB/s, maxb=7797KB/s, mint=60002msec, maxt=60002msec
Run status group 1 (all jobs):
READ: io=334860KB, aggrb=5580KB/s, minb=5580KB/s, maxb=5580KB/s, mint=60003msec, maxt=60003msec
Run status group 2 (all jobs):
WRITE: io=53900KB, aggrb=897KB/s, minb=897KB/s, maxb=897KB/s, mint=60039msec, maxt=60039msec
Run status group 3 (all jobs):
WRITE: io=7520KB, aggrb=125KB/s, minb=125KB/s, maxb=125KB/s, mint=60120msec, maxt=60120msec
Disk stats (read/write):
sdb: ios=171292/11991, merge=29388/3441, ticks=411887/417030, in_queue=828667, util=99.78%
merkaba:~> umount /mnt/zeit
On read F2FS and Ext4 have similar results.
Ext4 is a bit faster on sequential writes here, which contradicts dd
from above.
But F2FS is a lot, a huge lot faster on random writes!
I wonder how that is related to the iodepth I used. (Copied over from
ssd-test fio example file.). According to fio it did use iodepth 4. I wonder
about reasonable value for testing.
This has just been some initial testing. I wonder about good tests that mimic
typical use cases. What are the usecases?
- SD cards: photos, music files for portable players. smartphones, pads
with Android?
- USB-Sticks: random files users puts there, live distributions like GRML
and distro installers
Unless lots of small files stored or Linux being booted, its more larger
block size I/O it seems to me. Android likely deals with small files as
well. (I do not use a smartphone yet.)
While I use an USB stick to boot up Debian on my ASUS WL-500gP DSL router
that may not be a wide-spread usecase.
Thanks,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists