Hi David,
On Tue, Mar 23, 2021 at 08:57:57AM -0600, David Ahern wrote:
On 3/22/21 11:02 AM, Matteo Croce wrote:
quoted
From: Matteo Croce <redacted>
This series enables recycling of the buffers allocated with the page_pool API.
The first two patches are just prerequisite to save space in a struct and
avoid recycling pages allocated with other API.
Patch 2 was based on a previous idea from Jonathan Lemon.
The third one is the real recycling, 4 fixes the compilation of __skb_frag_unref
users, and 5,6 enable the recycling on two drivers.
patch 4 should be folded into 3; each patch should build without errors.
Yes
quoted
In the last two patches I reported the improvement I have with the series.
The recycling as is can't be used with drivers like mlx5 which do page split,
but this is documented in a comment.
In the future, a refcount can be used so to support mlx5 with no changes.
Is the end goal of the page_pool changes to remove driver private caches?
Yes. The patchset doesn't currently support that , because all the >10gbit
interfaces split the page and we don't account for that. We should be able to
extend it though and account for that. I don't have any hardware
(Intel/mlx) available, but I'll be happy to talk to anyone that does and
figure out a way to support those cards properly.
Cheers
/Ilias