Hi Didier, On 09/02, Chao Yu wrote: > Hello, > > On 2019/9/2 7:20, Didier Spaier wrote: > > Hello, > > > > I plan to provide a more "newbie friendly" installer for the Slint Linux > > distribution that I maintain.
Cool, very interesting. > > > > It will include an "auto" feature intended for newbies, that will > > partition a whole drive and install filesystems with a minimum of user > > input. It would install ext4 file systems in case of hard drives (but > > the ESP and the Bios Boot partition, that is), or f2fs when > > appropriate, without asking. > > > > I am trying to determine for which kinds of devices f2fs should be > > preferred over ext4 (or maybe xfs, I have yet to choose) > > > > I understand that I should target devices equipped of a NAND flash > > memory and interfaced with a FTL. > > > > I think that nowadays most devices of types eMMC, SSD (both SATA and > > PCIe connected, aka NVMe), SD card and flash drives (aka USB sticks) > > have these characteristics thus are good candidates for f2fs. > > > > Simply put, that loks like "everything but hard drives". > > > > Is this correct? > > I do believe that in those devices, in addition SMR (Shingled Magnetic > Recording) drvier, f2fs can behaves better on performance, but for > conventional > hard driver, I got no evidence to show f2fs will perform better (since I > didn't > do such test on hard driver and never got related report like that). F2FS supports HM-SMR by default. For HDD or HA-SMR, I've seen some performance gains w/ ceph. Of course, it depends on user workload tho, if user generates # of random writes, F2FS can give better throughput, since it's log-structured file system. OTHO, if user wants to read out lots of file's data randomly, it'd be better to use conventional disk-based filesystems, since it originally allocated blocks to avoid disk seek time as much as possible. > > > > If yes, I could just check the value of > > /sys/block/<device name>/queue/rotational or the ROTA field of lsblk. > > > > However, I understand that not all flash drives and SSD are based on > > NAND and not all these devices interfaced through a NTL. > > > > Thus my questions are: > > 1. Is the assumption "all devices but hards disks" are potential > > candidate for using f2fs valid? I may be able to say "all devices for laptop", and "flash storages and SMR drives for desktop/server". > > I'm okay with that assumption by default. :) > > > 2. If this assumption is not valid, what are the drawbacks using f2fs > > for all, in terms of performances and security? F2FS now supports fscrypt and will support fsverity, hardware inline encryption, and per-file compression. :) > > 3. Is there a way to tell for a given device if it would benefit of > > using f2fs, that could be implemented in a distribution installer, > > without human intervention? > > IMO, flash based device can be benefit from aspects of: > - better random write performance (inherit gene's advantage from LFS > architecture) > - well SQLite performance (SQLite has started to support to use f2fs atomic > write interface officially in its persist mode) > - recoverable performance (background GC) > - longevity (less writes) > - less performance regression during handling discard command (tuned async > discard policy) Good summary. :P > > > > > Thanks for any clue. and if this is the wrong list for such questions, > > please tell me where I should ask them. > > > > Best regards, > > > > Didier > > > > PS I ship currently a kernel 4.19.x. Is this OK? > > I'm okay with that. > > Also I recommend to use our private stable tree below in where we backport > most > upstreamed codes, and the codes in that stable tree are used on Android now. > > https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-stable.git/ Side note: this will provide all the f2fs/fscrypt backports to android common kernel. It'd be great to sync this with your distro kernel as much as possible. > > BTW please note that: > - DON'T try corrupted feature via mkfs.f2fs -i with the version <= 1.12.0. > - tune overprivsion rate with a proper value to avoid performance regression > when there is no more space in the device. > > > > > > > _______________________________________________ > > Linux-f2fs-devel mailing list > > Linux-f2fs-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel > > . > > > > > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel