linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
From: Juhyung Park <qkrwngud825@gmail.com>
To: Chao Yu <chao@kernel.org>
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: Fri, 19 May 2023 03:12:10 +0900	[thread overview]
Message-ID: <CAD14+f0-+NF63rePDBeAx1yk6aB==nirjyZAfgurt5UbvVsY2Q@mail.gmail.com> (raw)
In-Reply-To: <c7f5350c-c13f-5079-9b1d-cc04ef04e246@kernel.org>

Hi Chao,

Thanks for the patch. I'll try it out on both my laptop and workstation soon.

One question though: would it make sense to see if it works fine on
Android too? (With userspace's explicit GC trigger disabled.)
Maybe it could be an indication on whether it works properly or not?

Thanks,

On Thu, May 18, 2023 at 4:53 PM Chao Yu <chao@kernel.org> wrote:
>
> 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 18:12 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
2023-05-18 18:12           ` Juhyung Park [this message]
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='CAD14+f0-+NF63rePDBeAx1yk6aB==nirjyZAfgurt5UbvVsY2Q@mail.gmail.com' \
    --to=qkrwngud825@gmail.com \
    --cc=akoskovich@pm.me \
    --cc=chao@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    /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).