From: Yunsheng Lin <linyunsheng@huawei.com>
To: Gao Xiang <hsiangkao@linux.alibaba.com>,
Yunsheng Lin <yunshenglin0825@gmail.com>,
Dave Chinner <david@fromorbit.com>
Cc: Yishai Hadas <yishaih@nvidia.com>, Jason Gunthorpe <jgg@ziepe.ca>,
Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>,
Kevin Tian <kevin.tian@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
Chris Mason <clm@fb.com>, Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>, Gao Xiang <xiang@kernel.org>,
Chao Yu <chao@kernel.org>, Yue Hu <zbestahu@gmail.com>,
Jeffle Xu <jefflexu@linux.alibaba.com>,
Sandeep Dhavale <dhavale@google.com>,
Carlos Maiolino <cem@kernel.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Jesper Dangaard Brouer <hawk@kernel.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>, Neil Brown <neilb@suse.de>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Luiz Capitulino <luizcap@redhat.com>,
Mel Gorman <mgorman@techsingularity.net>, <kvm@vger.kernel.org>,
<virtualization@lists.linux.dev>, <linux-kernel@vger.kernel.org>,
<linux-btrfs@vger.kernel.org>, <linux-erofs@lists.ozlabs.org>,
<linux-xfs@vger.kernel.org>, <linux-mm@kvack.org>,
<netdev@vger.kernel.org>, <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v2] mm: alloc_pages_bulk: remove assumption of populating only NULL elements
Date: Mon, 10 Mar 2025 20:31:49 +0800 [thread overview]
Message-ID: <14170f7f-97d0-40b4-9b07-92e74168e030@huawei.com> (raw)
In-Reply-To: <625983f8-7e52-4f6c-97bb-629596341181@linux.alibaba.com>
On 2025/3/10 8:32, Gao Xiang wrote:
...
>>
>> Also, it seems the fstests doesn't support erofs yet?
>
> erofs is an read-only filesystem, and almost all xfstests
> cases is unsuitable for erofs since erofs needs to preset
> dataset in advance for runtime testing and only
> read-related interfaces are cared:
>
> You could check erofs-specfic test cases here:
> https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/log/?h=experimental-tests
>
> Also the stress test:
> https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/commit/?id=6fa861e282408f8df9ab1654b77b563444b17ea1
Thanks.
>
> BTW, I don't like your new interface either, I don't know
> why you must insist on this work now that others are
> already nak this. Why do you insist on it so much?
If the idea was not making any sense to me and it was nack'ed
with clearer reasoning and without any supporting of the idea,
I would have stopped working on it.
The background I started working at is something like below
in the commit log:
"As mentioned in [1], it seems odd to check NULL elements in
the middle of page bulk allocating, and it seems caller can
do a better job of bulk allocating pages into a whole array
sequentially without checking NULL elements first before
doing the page bulk allocation for most of existing users."
"Remove assumption of populating only NULL elements and treat
page_array as output parameter like kmem_cache_alloc_bulk().
Remove the above assumption also enable the caller to not
zero the array before calling the page bulk allocating API,
which has about 1~2 ns performance improvement for the test
case of time_bench_page_pool03_slow() for page_pool in a
x86 vm system, this reduces some performance impact of
fixing the DMA API misuse problem in [2], performance
improves from 87.886 ns to 86.429 ns."
1. https://lore.kernel.org/all/bd8c2f5c-464d-44ab-b607-390a87ea4cd5@huawei.com/
2. https://lore.kernel.org/all/20250212092552.1779679-1-linyunsheng@huawei.com/
There is no 'must' here, it is just me taking some of my
hoppy time and some of my work time trying to make the
alloc_pages_bulk API simpler and more efficient here, and I
also learnt a lot during that process.
Anyway, if there is still any hard nack after all the
discussion, it would be good to make it more explicit with
a clearer reasoning.
next prev parent reply other threads:[~2025-03-10 12:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-28 9:44 Yunsheng Lin
2025-03-03 22:13 ` Chuck Lever
2025-03-04 12:04 ` Yunsheng Lin
2025-03-04 8:18 ` Dave Chinner
2025-03-04 12:09 ` Yunsheng Lin
2025-03-08 6:43 ` Dave Chinner
2025-03-09 13:40 ` Yunsheng Lin
2025-03-10 0:32 ` Gao Xiang
2025-03-10 12:31 ` Yunsheng Lin [this message]
2025-03-10 12:59 ` Gao Xiang
2025-03-11 22:55 ` NeilBrown
2025-03-12 1:45 ` Gao Xiang
2025-03-12 12:05 ` Yunsheng Lin
2025-03-12 12:41 ` Gao Xiang
2025-03-04 9:17 ` Qu Wenruo
2025-03-05 12:17 ` Yunsheng Lin
2025-03-05 23:41 ` NeilBrown
2025-03-06 11:43 ` Yunsheng Lin
2025-03-06 21:14 ` NeilBrown
2025-03-07 9:23 ` Yunsheng Lin
2025-03-07 21:02 ` NeilBrown
2025-03-09 13:23 ` Yunsheng Lin
2025-03-10 0:10 ` NeilBrown
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=14170f7f-97d0-40b4-9b07-92e74168e030@huawei.com \
--to=linyunsheng@huawei.com \
--cc=Dai.Ngo@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=alex.williamson@redhat.com \
--cc=anna@kernel.org \
--cc=cem@kernel.org \
--cc=chao@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=clm@fb.com \
--cc=davem@davemloft.net \
--cc=david@fromorbit.com \
--cc=dhavale@google.com \
--cc=djwong@kernel.org \
--cc=dsterba@suse.com \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=hsiangkao@linux.alibaba.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jefflexu@linux.alibaba.com \
--cc=jgg@ziepe.ca \
--cc=jlayton@kernel.org \
--cc=josef@toxicpanda.com \
--cc=kevin.tian@intel.com \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=luizcap@redhat.com \
--cc=mgorman@techsingularity.net \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=okorniev@redhat.com \
--cc=pabeni@redhat.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
--cc=virtualization@lists.linux.dev \
--cc=xiang@kernel.org \
--cc=yishaih@nvidia.com \
--cc=yunshenglin0825@gmail.com \
--cc=zbestahu@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