public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Neal Gompa <ngompa13@gmail.com>
Cc: dsterba@suse.cz, Josef Bacik <josef@toxicpanda.com>,
	Qu Wenruo <wqu@suse.com>,
	linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] btrfs: migrate extent_buffer::pages[] to folio
Date: Fri, 1 Dec 2023 07:34:53 +1030	[thread overview]
Message-ID: <0895e527-84dc-481f-9413-71abcd0fdd03@gmx.com> (raw)
In-Reply-To: <CAEg-Je_jRXoYY60Prf87S45Pzt4q6zDz53JaHT8XyPoG7OSMPg@mail.gmail.com>



On 2023/11/30 22:49, Neal Gompa wrote:
> On Thu, Nov 30, 2023 at 1:56 AM Qu Wenruo <quwenruo.btrfs@gmx.com> wrote:
>>
>>
>>
>> On 2023/11/30 02:32, David Sterba wrote:
>>> On Tue, Nov 28, 2023 at 08:47:33AM +1030, Qu Wenruo wrote:
>>>>
>>>>
>>>> On 2023/11/28 03:02, Josef Bacik wrote:
>>>>> On Mon, Nov 27, 2023 at 08:48:45AM +1030, Qu Wenruo wrote:
>>>>>> For now extent_buffer::pages[] are still only accept single page
>>>>>> pointer, thus we can migrate to folios pretty easily.
>>>>>>
>>>>>> As for single page, page and folio are 1:1 mapped.
>>>>>>
>>>>>> This patch would just do the conversion from struct page to struct
>>>>>> folio, providing the first step to higher order folio in the future.
>>>>>>
>>>>>> Signed-off-by: Qu Wenruo <wqu@suse.com>
>>>>>
>>>>> This doesn't apply to misc-next cleanly, so I can't do my normal review, but
>>>>> just swapping us over to the folio stuff in name everywhere is a valuable first
>>>>> start.  I'd like to see this run through our testing infrastructure to make sure
>>>>> nothing got missed.  Once you can get it to apply cleanly somewhere and validate
>>>>> nothing weird got broken you can add
>>>>>
>>>>> Reviewed-by: Josef Bacik <josef@toxicpanda.com>
>>>>
>>>> Thanks, the failed apply is due to the fact that this relies on another
>>>> patch: "btrfs: refactor alloc_extent_buffer() to allocate-then-attach
>>>> method".
>>>
>>> V3 of the patch has a comment from Josef, please send an update so I can
>>> apply both patches and we can start testing the folio conversion.
>>>
>>
>> For the folio conversion, I'd like to add more cleanups, mostly related
>> to bio_add_page() -> bio_add_folio() and page flags conversion.
>>
>> Those are pretty safe as long as we're only using order 0 pages.
>>
>> But the more conversion I have done in this patch, the less I need to do
>> in the final patch introducing the higher order folios.
>>
>
> With higher order folio support, will we be able to support blocksize

It's the first step towards multi-page sectorsize.

But not yet there. We need MM (filemap) layer to provide a way to only
allocate in certain folio size, which needs some API changes.

For now, we're working around it by doing the folio allocation all by
ourselves then attach them into the filemap, and still allow single page
allocation for metadata.

That would not be possible for data without the help from filemap codes.

Thanks,
Qu
>> pagesize?
>
>

  reply	other threads:[~2023-11-30 21:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-26 22:18 [PATCH] btrfs: migrate extent_buffer::pages[] to folio Qu Wenruo
2023-11-27 16:32 ` Josef Bacik
2023-11-27 22:17   ` Qu Wenruo
2023-11-29 16:02     ` David Sterba
2023-11-30  6:56       ` Qu Wenruo
2023-11-30 12:19         ` Neal Gompa
2023-11-30 21:04           ` Qu Wenruo [this message]
2023-11-30 23:18 ` David Sterba
2023-11-30 23:33   ` Qu Wenruo
2023-11-30 23:22 ` David Sterba

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=0895e527-84dc-481f-9413-71abcd0fdd03@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=dsterba@suse.cz \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=ngompa13@gmail.com \
    --cc=wqu@suse.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