Re: [RFC PATCH] mm: net: disable kswapd for high-order network buffer allocation

From: Eric Dumazet

Date: Tue Oct 14 2025 - 03:01:19 EST


On Mon, Oct 13, 2025 at 11:43 PM Barry Song <21cnbao@xxxxxxxxx> wrote:
>
> > >
> > > A problem with the existing sysctl is that it only covers the TX path;
> > > for the RX path, we also observe that kswapd consumes significant power.
> > > I could add the patch below to make it support the RX path, but it feels
> > > like a bit of a layer violation, since the RX path code resides in mm
> > > and is intended to serve generic users rather than networking, even
> > > though the current callers are primarily network-related.
> >
> > You might have a buggy driver.
>
> We are observing the RX path as follows:
>
> do_softirq
> taskset_hi_action
> kalPacketAlloc
> __netdev_alloc_skb
> page_frag_alloc_align
> __page_frag_cache_refill
>
> This appears to be a fairly common stack.
>
> So it is a buggy driver?

No idea, kalPacketAlloc is not in upstream trees.

It apparently needs high order allocations. It will fail at some point.

>
> >
> > High performance drivers use order-0 allocations only.
> >
>
> Do you have an example of high-performance drivers that use only order-0 memory?

About all drivers using XDP, and/or using napi_get_frags()

XDP has been using order-0 pages from the very beginning.