Hi, On Oct 7, 2012, at 12:06 AM, Jaegeuk Kim wrote: > 2012-10-06 (토), 17:54 +0400, Vyacheslav Dubeyko: >> Hi Jaegeuk, > > Hi. > We know each other, right? :) > Yes, you are correct. :-) >> >>> From: 김재극 <jaegeuk.kim@xxxxxxxxxxx> >>> To: viro@xxxxxxxxxxxxxxxxxx, 'Theodore Ts'o' <tytso@xxxxxxx>, gregkh@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, chur.lee@xxxxxxxxxxx, cm224.lee@xxxxxxxxxxx, jaegeuk.kim@xxxxxxxxxxx, jooyoung.hwang@xxxxxxxxxxx >>> Subject: [PATCH 00/16] f2fs: introduce flash-friendly file system >>> Date: Fri, 05 Oct 2012 20:55:07 +0900 >>> >>> This is a new patch set for the f2fs file system. >>> >>> What is F2FS? >>> ============= >>> >>> NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have >>> been widely being used for ranging from mobile to server systems. Since they are >>> known to have different characteristics from the conventional rotational disks, >>> a file system, an upper layer to the storage device, should adapt to the changes >>> from the sketch. >>> >>> F2FS is a new file system carefully designed for the NAND flash memory-based storage >>> devices. We chose a log structure file system approach, but we tried to adapt it >>> to the new form of storage. Also we remedy some known issues of the very old log >>> structured file system, such as snowball effect of wandering tree and high cleaning >>> overhead. >>> >>> Because a NAND-based storage device shows different characteristics according to >>> its internal geometry or flash memory management scheme aka FTL, we add various >>> parameters not only for configuring on-disk layout, but also for selecting allocation >>> and cleaning algorithms. >>> >> >> What about F2FS performance? Could you share benchmarking results of the new file system? >> >> It is very interesting the case of aged file system. How is GC's implementation efficient? Could you share benchmarking results for the very aged file system state? >> > > Although I have benchmark results, currently I'd like to see the results > measured by community as a black-box. As you know, the results are very > dependent on the workloads and parameters, so I think it would be better > to see other results for a while. > Thanks, It is a good strategy. But it exists known bottlenecks and, maybe, it makes sense to begin discussion in the community. With the best regards, Vyacheslav Dubeyko. > >> With the best regards, >> Vyacheslav Dubeyko. >> >>> Patch set >>> ========= >>> >>> The patch #1 adds a document to Documentation/filesystems/. >>> The patch #2 adds a header file of on-disk layout to include/linux/. >>> The patches #3-#15 adds f2fs source files to fs/f2fs/. >>> The Last patch, patch #16, updates Makefile and Kconfig. >>> >>> mkfs.f2fs >>> ========= >>> >>> The file system formatting tool, "mkfs.f2fs", is available from the following >>> download page: >>> http://sourceforge.net/projects/f2fs-tools/ >>> >>> >>> Usage >>> ===== >>> >>> If you'd like to experience f2fs, simply: >>> # mkfs.f2fs /dev/sdb1 >>> # mount -t f2fs /dev/sdb1 /mnt/f2fs >>> >>> Short log >>> ========= >>> >>> Jaegeuk Kim (16): >>> f2fs: add document >>> f2fs: add on-disk layout >>> f2fs: add superblock and major in-memory structure >>> f2fs: add super block operations >>> f2fs: add checkpoint operations >>> f2fs: add node operations >>> f2fs: add segment operations >>> f2fs: add file operations >>> f2fs: add address space operations for data >>> f2fs: add core inode operations >>> f2fs: add inode operations for special inodes >>> f2fs: add core directory operations >>> f2fs: add xattr and acl functionalities >>> f2fs: add garbage collection functions >>> f2fs: add recovery routines for roll-forward >>> f2fs: update Kconfig and Makefile >>> >>> Documentation/filesystems/00-INDEX | 2 + >>> Documentation/filesystems/f2fs.txt | 314 +++++++ >>> fs/Kconfig | 1 + >>> fs/Makefile | 1 + >>> fs/f2fs/Kconfig | 55 ++ >>> fs/f2fs/Makefile | 6 + >>> fs/f2fs/acl.c | 402 ++++++++ >>> fs/f2fs/acl.h | 57 ++ >>> fs/f2fs/checkpoint.c | 791 ++++++++++++++++ >>> fs/f2fs/data.c | 700 ++++++++++++++ >>> fs/f2fs/dir.c | 657 +++++++++++++ >>> fs/f2fs/f2fs.h | 981 ++++++++++++++++++++ >>> fs/f2fs/file.c | 643 +++++++++++++ >>> fs/f2fs/gc.c | 1140 +++++++++++++++++++++++ >>> fs/f2fs/gc.h | 203 +++++ >>> fs/f2fs/hash.c | 98 ++ >>> fs/f2fs/inode.c | 258 ++++++ >>> fs/f2fs/namei.c | 549 +++++++++++ >>> fs/f2fs/node.c | 1773 ++++++++++++++++++++++++++++++++++++ >>> fs/f2fs/node.h | 331 +++++++ >>> fs/f2fs/recovery.c | 372 ++++++++ >>> fs/f2fs/segment.c | 1755 +++++++++++++++++++++++++++++++++++ >>> fs/f2fs/segment.h | 627 +++++++++++++ >>> fs/f2fs/super.c | 550 +++++++++++ >>> fs/f2fs/xattr.c | 387 ++++++++ >>> fs/f2fs/xattr.h | 142 +++ >>> include/linux/f2fs_fs.h | 359 ++++++++ >>> 27 files changed, 13154 insertions(+) >>> create mode 100644 Documentation/filesystems/f2fs.txt >>> create mode 100644 fs/f2fs/Kconfig >>> create mode 100644 fs/f2fs/Makefile >>> create mode 100644 fs/f2fs/acl.c >>> create mode 100644 fs/f2fs/acl.h >>> create mode 100644 fs/f2fs/checkpoint.c >>> create mode 100644 fs/f2fs/data.c >>> create mode 100644 fs/f2fs/dir.c >>> create mode 100644 fs/f2fs/f2fs.h >>> create mode 100644 fs/f2fs/file.c >>> create mode 100644 fs/f2fs/gc.c >>> create mode 100644 fs/f2fs/gc.h >>> create mode 100644 fs/f2fs/hash.c >>> create mode 100644 fs/f2fs/inode.c >>> create mode 100644 fs/f2fs/namei.c >>> create mode 100644 fs/f2fs/node.c >>> create mode 100644 fs/f2fs/node.h >>> create mode 100644 fs/f2fs/recovery.c >>> create mode 100644 fs/f2fs/segment.c >>> create mode 100644 fs/f2fs/segment.h >>> create mode 100644 fs/f2fs/super.c >>> create mode 100644 fs/f2fs/xattr.c >>> create mode 100644 fs/f2fs/xattr.h >>> create mode 100644 include/linux/f2fs_fs.h >>> >>> -- >>> 1.7.9.5 >>> >>> >>> >>> >>> --- >>> Jaegeuk Kim >>> Samsung >>> >>> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at >>> http://vger.kernel.org/majordomo-info.html >>> >>> Please read the FAQ at http://www.tux.org/lkml/ >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ > > -- > Jaegeuk Kim > Samsung > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html