From: Jesper Dangaard Brouer <hawk@kernel.org>
To: "Mina Almasry" <almasrymina@google.com>,
"Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Jakub Kicinski <kuba@kernel.org>
Subject: Re: [PATCH RFC net-next v1] page_pool: import Jesper's page_pool benchmark
Date: Mon, 24 Mar 2025 23:11:22 +0100 [thread overview]
Message-ID: <4bb08c33-eac5-46e1-8d59-acc125946654@kernel.org> (raw)
In-Reply-To: <CAHS8izM30jZ+bKkpeKQLKk3BGj8nBFLpUFgS2qM7x8EPMV7KOQ@mail.gmail.com>
On 24/03/2025 21.23, Mina Almasry wrote:
> On Mon, Mar 10, 2025 at 2:15 AM Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>
>> Mina Almasry <almasrymina@google.com> writes:
>>
>>> From: Jesper Dangaard Brouer <hawk@kernel.org>
>>>
>>> We frequently consult with Jesper's out-of-tree page_pool benchmark to
>>> evaluate page_pool changes.
>>>
>>> Consider importing the benchmark into the upstream linux kernel tree so
>>> that (a) we're all running the same version, (b) pave the way for shared
>>> improvements, and (c) maybe one day integrate it with nipa, if possible.
>>>
>>> I imported the bench_page_pool_simple from commit 35b1716d0c30 ("Add
>>> page_bench06_walk_all"), from this repository:
>>> https://github.com/netoptimizer/prototype-kernel.git
>>>
>>> I imported the benchmark, largely as-is. I only fixed build or
>>> checkpatch issues.
>>>
>>> Cc: Jesper Dangaard Brouer <hawk@kernel.org>
>>> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
>>> Cc: Jakub Kicinski <kuba@kernel.org>
>>> Cc: Toke Høiland-Jørgensen <toke@toke.dk>
>>> Cc: netdev@vger.kernel.org
>>> Signed-off-by: Mina Almasry <almasrymina@google.com>
>>>
>>> ---
>>>
>>> RFC discussion points:
>>> - Desirable to import it?
>>
>> I think so, yeah.
>>
>>> - Can the benchmark be imported as-is for an initial version? Or needs
>>> lots of modifications?
>>
>> One thing that I was discussing with Jesper the other day is that the
>> current version allocates the page_pool itself in softirq context, which
>> leads to some "may sleep" warning. I think we should fix that before
>> upstreaming.
>>
>
> I don't think I saw that warning for whatever reason. Do you by any
> chance have a fix that I can squash? Or do you think it is very
> critical to fix this before upstreaming? I.e. not follow up with a
> fix?
The tasklet trick in the benchmark module is to fake that code is
running in softirq context, which avoids taking the _bh lock variants.
In the past the performance was really different between the two
execution contexts, but in all of my recent experiments [1][2], the
performance differences are gone. So, I think we can simply drop the
ugly tasklet setup tricks.
[1]
https://github.com/xdp-project/xdp-project/blob/main/areas/mem/page_pool07_bench_DMA_fix.org
[2]
https://github.com/xdp-project/xdp-project/blob/main/areas/mem/page_pool08_bench_AMD.org
BTW it is awesome that you are pushing this to get upstreamed.
--Jesper
next prev parent reply other threads:[~2025-03-24 22:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-09 8:41 [PATCH RFC net-next v1] page_pool: import Jesper's page_pool benchmark Mina Almasry
2025-03-09 10:34 ` kernel test robot
2025-03-10 6:22 ` kernel test robot
2025-03-10 8:08 ` kernel test robot
2025-03-10 9:15 ` Toke Høiland-Jørgensen
2025-03-24 20:23 ` Mina Almasry
2025-03-24 22:11 ` Jesper Dangaard Brouer [this message]
2025-03-24 13:55 ` Jakub Kicinski
2025-03-24 20:21 ` Mina Almasry
2025-03-25 22:38 ` Jakub Kicinski
2025-03-24 22:34 ` Jesper Dangaard Brouer
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=4bb08c33-eac5-46e1-8d59-acc125946654@kernel.org \
--to=hawk@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=almasrymina@google.com \
--cc=ilias.apalodimas@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=toke@toke.dk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.