linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
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

  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).