RE: [PATCH net-next v27 07/13] rtase: Implement a function to receive packets
From: Larry Chiu
Date: Tue Aug 20 2024 - 01:14:33 EST
> -----Original Message-----
> From: Jakub Kicinski <kuba@xxxxxxxxxx>
> Sent: Friday, August 16, 2024 9:55 AM
> To: Justin Lai <justinlai0215@xxxxxxxxxxx>
> Cc: davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; pabeni@xxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; andrew@xxxxxxx;
> jiri@xxxxxxxxxxx; horms@xxxxxxxxxx; rkannoth@xxxxxxxxxxx;
> jdamato@xxxxxxxxxx; Ping-Ke Shih <pkshih@xxxxxxxxxxx>; Larry Chiu
> <larry.chiu@xxxxxxxxxxx>
> Subject: Re: [PATCH net-next v27 07/13] rtase: Implement a function to
> receive packets
>
>
> External mail.
>
>
>
> On Mon, 12 Aug 2024 14:35:33 +0800 Justin Lai wrote:
> > + if (!delta && workdone)
> > + netdev_info(dev, "no Rx buffer allocated\n");
> > +
> > + ring->dirty_idx += delta;
> > +
> > + if ((ring->dirty_idx + RTASE_NUM_DESC) == ring->cur_idx)
> > + netdev_emerg(dev, "Rx buffers exhausted\n");
>
> Memory allocation failures happen, we shouldn't risk spamming the logs.
> I mean these two messages and the one in rtase_alloc_rx_data_buf(),
> the should be removed.
>
> There is a alloc_fail statistic defined in include/net/netdev_queues.h
> that's the correct way to report buffer allocation failures.
Hi, Jakub,
Can we just count the rx_alloc_fail here?
If we implement the "netdev_stat_ops", we can report this counter.
> And you should have a periodic service task / work which checks for
> buffers being exhausted, and if they are schedule NAPI so that it tries
> to allocate.
We will redefine the rtase_rx_ring_fill() to check the buffers and
try to get page from the pool.
Should we return the budget to schedule this NAPI if there are some
empty buffers?
Thanks,
Larry