[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51161740e832334594960ed43430b868a6f892c3.camel@gmail.com>
Date: Sat, 27 May 2023 08:54:34 -0700
From: Alexander H Duyck <alexander.duyck@...il.com>
To: David Howells <dhowells@...hat.com>, netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, Willem de Bruijn <willemdebruijn.kernel@...il.com>,
David Ahern <dsahern@...nel.org>, Matthew Wilcox <willy@...radead.org>,
Jens Axboe <axboe@...nel.dk>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Jeroen de Borst <jeroendb@...gle.com>,
Catherine Sullivan <csully@...gle.com>, Shailend Chand
<shailend@...gle.com>, Felix Fietkau <nbd@....name>, John Crispin
<john@...ozen.org>, Sean Wang <sean.wang@...iatek.com>, Mark Lee
<Mark-MC.Lee@...iatek.com>, Lorenzo Bianconi <lorenzo@...nel.org>, Matthias
Brugger <matthias.bgg@...il.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>, Keith Busch <kbusch@...nel.org>,
Jens Axboe <axboe@...com>, Christoph Hellwig <hch@....de>, Sagi Grimberg
<sagi@...mberg.me>, Chaitanya Kulkarni <kch@...dia.com>, Andrew Morton
<akpm@...ux-foundation.org>, linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, linux-nvme@...ts.infradead.org
Subject: Re: [PATCH net-next 03/12] mm: Make the page_frag_cache allocator
alignment param a pow-of-2
On Wed, 2023-05-24 at 16:33 +0100, David Howells wrote:
> Make the page_frag_cache allocator's alignment parameter a power of 2
> rather than a mask and give a warning if it isn't.
>
> This means that it's consistent with {napi,netdec}_alloc_frag_align() and
> allows __{napi,netdev}_alloc_frag_align() to be removed.
>
This goes against the original intention of these functions. One of the
reasons why this is being used is because when somebody enables
something like 2K jumbo frames they don't necessarily want to have to
allocate 4K SLABs. Instead they can just add a bit of overhead and get
almost twice the utilization out of an order 3 page.
The requirement should only be cache alignment, not power of 2
alignment. This isn't meant to be a slab allocator. We are just
sectioning up pages to handle mixed workloads. In the case of
networking we can end up getting everything from 60B packets, to 1514B
in the standard cases. That was why we started sectioning up pages in
the first place so putting a power of 2 requirement on it doens't fit
our use case at all and is what we were trying to get away from with
the SLAB allocators.
Powered by blists - more mailing lists