On Tue, Mar 26, 2024 at 09:02:12PM -0700, Jakub Kicinski wrote: > __napi_alloc_skb() is napi_alloc_skb() with the added flexibility > of choosing gfp_mask. This is a NAPI function, so GFP_ATOMIC is > implied. The only practical choice the caller has is whether to > set __GFP_NOWARN. But that's a false choice, too, allocation failures > in atomic context will happen, and printing warnings in logs, > effectively for a packet drop, is both too much and very likely > non-actionable. > > This leads me to a conclusion that most uses of napi_alloc_skb() > are simply misguided, and should use __GFP_NOWARN in the first > place. We also have a "standard" way of reporting allocation > failures via the queue stat API (qstats::rx-alloc-fail). > > The direct motivation for this patch is that one of the drivers > used at Meta calls napi_alloc_skb() (so prior to this patch without > __GFP_NOWARN), and the resulting OOM warning is the top networking > warning in our fleet. > > Reviewed-by: Alexander Lobakin <aleksander.loba...@intel.com> > Signed-off-by: Jakub Kicinski <k...@kernel.org>
Reviewed-by: Simon Horman <ho...@kernel.org>