From: Chao Yu <chao@kernel.org>
To: Juhyung Park <qkrwngud825@gmail.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>,
Alexander Koskovich <akoskovich@pm.me>,
linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs-dev] [DISCUSSION] f2fs for desktop
Date: Thu, 18 May 2023 15:53:47 +0800 [thread overview]
Message-ID: <c7f5350c-c13f-5079-9b1d-cc04ef04e246@kernel.org> (raw)
In-Reply-To: <CAD14+f3J_ReeS4VvqBZnLs04i=iXN36MJRWc_Pa95tftnZrtRg@mail.gmail.com>
On 2023/4/21 1:26, Juhyung Park wrote:
> Hi Chao,
>
> On Fri, Apr 21, 2023 at 1:19 AM Chao Yu <chao@kernel.org> wrote:
>>
>> Hi JuHyung,
>>
>> Sorry for delay reply.
>>
>> On 2023/4/11 1:03, Juhyung Park wrote:
>>> Hi Chao,
>>>
>>> On Tue, Apr 11, 2023 at 12:44 AM Chao Yu <chao@kernel.org> wrote:
>>>>
>>>> Hi Juhyung,
>>>>
>>>> On 2023/4/4 15:36, Juhyung Park wrote:
>>>>> Hi everyone,
>>>>>
>>>>> I want to start a discussion on using f2fs for regular desktops/workstations.
>>>>>
>>>>> There are growing number of interests in using f2fs as the general
>>>>> root file-system:
>>>>> 2018: https://www.phoronix.com/news/GRUB-Now-Supports-F2FS
>>>>> 2020: https://www.phoronix.com/news/Clear-Linux-F2FS-Root-Option
>>>>> 2023: https://code.launchpad.net/~nexusprism/curtin/+git/curtin/+merge/439880
>>>>> 2023: https://code.launchpad.net/~nexusprism/grub/+git/ubuntu/+merge/440193
>>>>>
>>>>> I've been personally running f2fs on all of my x86 Linux boxes since
>>>>> 2015, and I have several concerns that I think we need to collectively
>>>>> address for regular non-Android normies to use f2fs:
>>>>>
>>>>> A. Bootloader and installer support
>>>>> B. Host-side GC
>>>>> C. Extended node bitmap
>>>>>
>>>>> I'll go through each one.
>>>>>
>>>>> === A. Bootloader and installer support ===
>>>>>
>>>>> It seems that both GRUB and systemd-boot supports f2fs without the
>>>>> need for a separate ext4-formatted /boot partition.
>>>>> Some distros are seemingly disabling f2fs module for GRUB though for
>>>>> security reasons:
>>>>> https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1868664
>>>>>
>>>>> It's ultimately up to the distro folks to enable this, and still in
>>>>> the worst-case scenario, they can specify a separate /boot partition
>>>>> and format it to ext4 upon installation.
>>>>>
>>>>> The installer itself to show f2fs and call mkfs.f2fs is being worked
>>>>> on currently on Ubuntu. See the 2023 links above.
>>>>>
>>>>> Nothing f2fs mainline developers should do here, imo.
>>>>>
>>>>> === B. Host-side GC ===
>>>>>
>>>>> f2fs relieves most of the device-side GC but introduces a new
>>>>> host-side GC. This is extremely confusing for people who have no
>>>>> background in SSDs and flash storage to understand, let alone
>>>>> discard/trim/erase complications.
>>>>>
>>>>> In most consumer-grade blackbox SSDs, device-side GCs are handled
>>>>> automatically for various workloads. f2fs, however, leaves that
>>>>> responsibility to the userspace with conservative tuning on the
>>>>
>>>> We've proposed a f2fs feature named "space awared garbage collection"
>>>> and shipped it in huawei/honor's devices, but forgot to try upstreaming
>>>> it. :-P
>>>>
>>>> In this feature, we introduced three mode:
>>>> - performance mode: something like write-gc in ftl, it can trigger
>>>> background gc more frequently and tune its speed according to free
>>>> segs and reclaimable blks ratio.
>>>> - lifetime mode: slow down background gc to avoid high waf if there
>>>> is less free space.
>>>> - balance mode: behave as usual.
>>>>
>>>> I guess this may be helpful for Linux desktop distros since there is
>>>> no such storage service trigger gc_urgent.
>>>>
>>>
>>> That indeed sounds interesting.
>>>
>>> If you need me to test something out, feel free to ask.
>>
>> Thanks a lot for that. :)
>>
>> I'm trying to figure out a patch...
Juhyung,
Are you interesting to try this patch in distros?
https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=dev-test&id=4736e55bc967e91cf8a275b678739b006c2617f0
There are some tunable parameters, I can export them via sysfs entry,
let me update later.
Thanks,
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2023-05-18 7:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-04 7:36 [f2fs-dev] [DISCUSSION] f2fs for desktop Juhyung Park
2023-04-04 23:35 ` Jaegeuk Kim
2023-04-10 8:39 ` Juhyung Park
2023-04-10 15:44 ` Chao Yu
2023-04-10 17:03 ` Juhyung Park
2023-04-20 16:19 ` Chao Yu
2023-04-20 17:26 ` Juhyung Park
2023-05-18 7:53 ` Chao Yu [this message]
2023-05-18 18:12 ` Juhyung Park
2023-05-22 13:10 ` Chao Yu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c7f5350c-c13f-5079-9b1d-cc04ef04e246@kernel.org \
--to=chao@kernel.org \
--cc=akoskovich@pm.me \
--cc=jaegeuk@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=qkrwngud825@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).