linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Zi Yan <ziy@nvidia.com>
To: David Hildenbrand <david@redhat.com>
Cc: "Hugh Dickins" <hughd@google.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	"Yang Shi" <shy828301@gmail.com>, "Yu Zhao" <yuzhao@google.com>,
	linux-mm@kvack.org,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	"Ryan Roberts" <ryan.roberts@arm.com>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Roman Gushchin" <roman.gushchin@linux.dev>,
	"Zach O'Keefe" <zokeefe@google.com>,
	linux-kernel@vger.kernel.org, cgroups@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v3 0/7] Split a folio to any lower order folios
Date: Tue, 18 Apr 2023 10:00:43 -0400	[thread overview]
Message-ID: <9AA686F5-5366-4F41-92A7-C18B77BFDD6E@nvidia.com> (raw)
In-Reply-To: <c1429e20-7462-dc73-766a-cf7b3d482c6d@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2952 bytes --]

On 18 Apr 2023, at 6:29, David Hildenbrand wrote:

> On 17.04.23 21:26, Zi Yan wrote:
>> On 17 Apr 2023, at 10:20, David Hildenbrand wrote:
>>
>>> On 16.04.23 20:11, Hugh Dickins wrote:
>>>> On Tue, 4 Apr 2023, Andrew Morton wrote:
>>>>> On Mon,  3 Apr 2023 16:18:32 -0400 Zi Yan <zi.yan@sent.com> wrote:
>>>>>
>>>>>> File folio supports any order and people would like to support flexible orders
>>>>>> for anonymous folio[1] too. Currently, split_huge_page() only splits a huge
>>>>>> page to order-0 pages, but splitting to orders higher than 0 is also useful.
>>>>>> This patchset adds support for splitting a huge page to any lower order pages
>>>>>> and uses it during file folio truncate operations.
>>>>>
>>>>> This series (and its v1 & v2) don't appear to have much in the way of
>>>>> detailed review.  As it's at v3 and has been fairly stable I'll queue
>>>>> it up for some testing now, but I do ask that some reviewers go through
>>>>> it please.
>>>>
>>>> Andrew, please don't let this series drift into 6.4-rc1.
>>>>
>>>> I've seen a bug or two (I'll point out in response to those patches),
>>>> but overall I don't see what the justification for the series is: done
>>>> because it could be done, it seems to me, but liable to add surprises.
>>>>
>>>> The cover letter says "splitting to orders higher than 0 is also useful",
>>>> but it's not clear why; and the infrastructure provided seems unsuited
>>>> to the one use provided - I'll say more on that truncation patch.
>>>
>>> I agree. Maybe this patch set is something we want to have in the future once actual consumers that can benefit are in place, such that we can show actual performance numbers with/without.
>>
>> Ryan is working on large folio for anonymous pages and has shown promising performance
>> results[1]. This patchset would avoid getting base pages during split if possible.
>>
> Yes, I know. And it would be great to get some actual numbers with/without your patches to show that this optimization actually matters in practice.

Sure. Will try to add perf numbers in the next version.

>
> Unrelated, your cover letter mentions "file folio truncate operations.". Would it also apply to FALLOC_FL_PUNCH_HOLE, when partially zapping a THP?

Yes. In the self tests, I have
fallocate(fd, FALLOC_FL_PUNCH_HOLE|FALLOC_FL_KEEP_SIZE, offset[j], len[j]);
and it uses the truncate operation I updated in patch 6.

>
>>>
>>> Until then, "365 insertions(+), 68 deletions(-)" certainly needs some reasonable motivation.
>>
>> Come on. 225 out of 365 insertions are self tests code. We need motivation to add
>> testing code?
>
> Well, if you add feature X and the tests target feature X, then certainly having the tests require the same motivation as feature X. But yeah, the actual kernel code change is smaller than it looks at first sight.
>
> -- 
> Thanks,
>
> David / dhildenb


--
Best Regards,
Yan, Zi

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 854 bytes --]

  reply	other threads:[~2023-04-18 14:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-03 20:18 [PATCH v3 0/7] Split a folio to any lower order folios Zi Yan
2023-04-03 20:18 ` [PATCH v3 1/7] mm/memcg: use order instead of nr in split_page_memcg() Zi Yan
2023-04-03 20:18 ` [PATCH v3 2/7] mm/page_owner: use order instead of nr in split_page_owner() Zi Yan
2023-04-03 20:18 ` [PATCH v3 3/7] mm: memcg: make memcg huge page split support any order split Zi Yan
2023-04-03 20:18 ` [PATCH v3 4/7] mm: page_owner: add support for splitting to any order in split page_owner Zi Yan
2023-04-03 20:18 ` [PATCH v3 5/7] mm: thp: split huge page to any lower order pages Zi Yan
2023-04-16 19:25   ` Hugh Dickins
2023-04-17 14:49     ` Zi Yan
2023-04-03 20:18 ` [PATCH v3 6/7] mm: truncate: split huge page cache page to a non-zero order if possible Zi Yan
2023-04-16 19:44   ` Hugh Dickins
2023-04-16 19:51     ` Hugh Dickins
2023-04-17 15:20     ` Zi Yan
2023-04-18  1:05       ` Hugh Dickins
2023-04-03 20:18 ` [PATCH v3 7/7] mm: huge_memory: enable debugfs to split huge pages to any order Zi Yan
2023-04-04 21:47 ` [PATCH v3 0/7] Split a folio to any lower order folios Andrew Morton
2023-04-16 18:11   ` Hugh Dickins
2023-04-16 18:45     ` Andrew Morton
2023-04-17 14:20     ` David Hildenbrand
2023-04-17 19:26       ` Zi Yan
2023-04-18 10:29         ` David Hildenbrand
2023-04-18 14:00           ` Zi Yan [this message]
2024-02-13 12:30 ` Pankaj Raghav (Samsung)
2024-02-13 13:46   ` Zi Yan

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=9AA686F5-5366-4F41-92A7-C18B77BFDD6E@nvidia.com \
    --to=ziy@nvidia.com \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=david@redhat.com \
    --cc=hughd@google.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mkoutny@suse.com \
    --cc=roman.gushchin@linux.dev \
    --cc=ryan.roberts@arm.com \
    --cc=shy828301@gmail.com \
    --cc=willy@infradead.org \
    --cc=yuzhao@google.com \
    --cc=zokeefe@google.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).