From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Saeed Mahameed <saeedm@mellanox.com>
Cc: "David S. Miller" <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Jonathan Lemon <jonathan.lemon@gmail.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
brouer@redhat.com
Subject: Re: [PATCH net-next V3 2/3] page_pool: Don't recycle non-reusable pages
Date: Wed, 20 Nov 2019 13:16:01 +0100 [thread overview]
Message-ID: <20191120131601.700ad1c4@carbon> (raw)
In-Reply-To: <20191120001456.11170-3-saeedm@mellanox.com>
On Wed, 20 Nov 2019 00:15:19 +0000
Saeed Mahameed <saeedm@mellanox.com> wrote:
> A page is NOT reusable when at least one of the following is true:
> 1) allocated when system was under some pressure. (page_is_pfmemalloc)
> 2) belongs to a different NUMA node than pool->p.nid.
>
> To update pool->p.nid users should call page_pool_update_nid().
>
> Holding on to such pages in the pool will hurt the consumer performance
> when the pool migrates to a different numa node.
>
> Performance testing:
> XDP drop/tx rate and TCP single/multi stream, on mlx5 driver
> while migrating rx ring irq from close to far numa:
>
> mlx5 internal page cache was locally disabled to get pure page pool
> results.
>
> CPU: Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz
> NIC: Mellanox Technologies MT27700 Family [ConnectX-4] (100G)
>
> XDP Drop/TX single core:
> NUMA | XDP | Before | After
> ---------------------------------------
> Close | Drop | 11 Mpps | 10.9 Mpps
> Far | Drop | 4.4 Mpps | 5.8 Mpps
>
> Close | TX | 6.5 Mpps | 6.5 Mpps
> Far | TX | 3.5 Mpps | 4 Mpps
>
> Improvement is about 30% drop packet rate, 15% tx packet rate for numa
> far test.
> No degradation for numa close tests.
>
> TCP single/multi cpu/stream:
> NUMA | #cpu | Before | After
> --------------------------------------
> Close | 1 | 18 Gbps | 18 Gbps
> Far | 1 | 15 Gbps | 18 Gbps
> Close | 12 | 80 Gbps | 80 Gbps
> Far | 12 | 68 Gbps | 80 Gbps
>
> In all test cases we see improvement for the far numa case, and no
> impact on the close numa case.
>
> The impact of adding a check per page is very negligible, and shows no
> performance degradation whatsoever, also functionality wise it seems more
> correct and more robust for page pool to verify when pages should be
> recycled, since page pool can't guarantee where pages are coming from.
>
> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com>
> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2019-11-20 12:16 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-20 0:15 [PATCH net-next V3 0/3] page_pool: API for numa node change handling Saeed Mahameed
2019-11-20 0:15 ` [PATCH net-next V3 1/3] page_pool: Add API to update numa node Saeed Mahameed
2019-11-20 12:15 ` Jesper Dangaard Brouer
2019-11-20 0:15 ` [PATCH net-next V3 2/3] page_pool: Don't recycle non-reusable pages Saeed Mahameed
2019-11-20 12:16 ` Jesper Dangaard Brouer [this message]
2019-11-20 0:15 ` [PATCH net-next V3 3/3] net/mlx5e: Rx, Update page pool numa node when changed Saeed Mahameed
2019-11-20 12:16 ` Jesper Dangaard Brouer
2019-11-20 12:15 ` [PATCH net-next V3 0/3] page_pool: API for numa node change handling Jesper Dangaard Brouer
2019-11-20 19:48 ` David Miller
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=20191120131601.700ad1c4@carbon \
--to=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=ilias.apalodimas@linaro.org \
--cc=jonathan.lemon@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.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 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.