Re: [PATCH net-next 08/11] iavf: switch to Page Pool

From: Alexander Lobakin
Date: Fri Jun 02 2023 - 09:26:31 EST


From: David Christensen <drc@xxxxxxxxxxxxxxxxxx>
Date: Wed, 31 May 2023 13:18:59 -0700

>
>
> On 5/25/23 4:08 AM, Alexander Lobakin wrote:
>>> Any plans to add page pool fragmentation support (i.e.
>>> PP_FLAG_PAGE_FRAG) in the future to better support architectures with
>>> larger page sizes such as 64KB on ppc64le?
>>
>> Currently no, we resigned from page fragmentation due to the complexity
>> and restrictions it provides for no benefits on x86_64. But I remember
>> that pages > 4 Kb exist (I have a couple MIPS boards where I have fun
>> sometimes and page size is set to 16 Kb there. But still always use 1
>> page per frame).
>> By "better support" you mean reducing memory usage or something else?
>
> Yes, reducing memory waste.  Current generation P10 systems default to
> quad-port, 10Gb copper i40e NICs.  When you combine a large number of
> CPUs, and therefore a large number of RX queues, with a 64KB page
> allocation per packet, memory usage can balloon very quickly as you add
> additional ports.

Yeah, I got it. Unfortunately, page split adds a bunch of overhead for
no benefit on 4k systems. There's a small series here on netdev which
tries to combine frag and non-frag allocations in Page Pool, so that
there will be no overhead on 4k systems and no memory waste on 8k+ ones.

>
> Would you be open to patches to address this further down the road as
> your refactoring effort gets closer to completion?

Let's see how the abovementioned effort goes. I feel like a generic
solution would be better than trying to handle that per-driver.

>
> Dave

Thanks,
Olek