[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89i+TX8pJte0o4=82VExJQi17Pyqz8dYaKCnbTvKewgOO1w@mail.gmail.com>
Date: Fri, 16 Jan 2026 05:10:28 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: "David S . Miller" <davem@...emloft.net>, Paolo Abeni <pabeni@...hat.com>,
Simon Horman <horms@...nel.org>, netdev@...r.kernel.org, eric.dumazet@...il.com
Subject: Re: [PATCH net-next] net: split kmalloc_reserve()
On Fri, Jan 16, 2026 at 5:06 AM Jakub Kicinski <kuba@...nel.org> wrote:
>
> On Wed, 14 Jan 2026 21:28:40 +0000 Eric Dumazet wrote:
> > kmalloc_reserve() is too big to be inlined.
> >
> > Put the slow path in a new out-of-line function : kmalloc_pfmemalloc()
> >
> > Then let kmalloc_reserve() set skb->pfmemalloc only when/if
> > the slow path is taken.
> >
> > This means __alloc_skb() is faster :
> >
> > - kmalloc_reserve() is now automatically inlined by both gcc and clang.
> > - No more expensive RMW (skb->pfmemalloc = pfmemalloc).
> > - No more expensive stack canary (for CONFIG_STACKPROTECTOR_STRONG=y).
> > - Removal of two prefetches that were coming too late for modern cpus.
> >
> > Text size increase is quite small compared to the cpu savings (~0.5 %)
>
> Could you resend? Looks like this depends on some of the patches that
> were pending so it didn't apply when posted.
Sure thing !
Thanks.
Powered by blists - more mailing lists