Re: [PATCH net 2/4] net: ti: icssg-prueth: Report BQL before sending XDP packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jakub,

On 5/1/2025 8:23 PM, Jakub Kicinski wrote:
On Mon, 28 Apr 2025 17:34:57 +0530 Meghana Malladi wrote:
When sending out any kind of traffic, it is essential that the driver
keeps reporting BQL of the number of bytes that have been sent so that
BQL can track the amount of data in the queue and prevents it from
overflowing. If BQL is not reported, the driver may continue sending
packets even when the queue is full, leading to packet loss, congestion
and decreased network performance. Currently this is missing in
emac_xmit_xdp_frame() and this patch fixes it.

The ordering of patches in the series is a bit off.
The order should be something like:

   net: ti: icssg-prueth: Set XDP feature flags for ndev
   net: ti: icssg-prueth: Fix kernel panic during concurrent Tx queue ...
   net: ti: icssg-prueth: Fix race condition for traffic from different ...
   net: ti: icssg-prueth: Report BQL before sending XDP packets

This patch is not correct without the extra locking in place.

Actually the order of bug fixes which I posted, is the order in which I fixed the bugs, while running xdp-trafficgen: 1. ndo_xdp_xmit() wasn't getting called because of missing XDP feature flags check. 2. kernel crash: kernel BUG at lib/dynamic_queue_limits.c:99! and was fixed by reporting BQL for packet transmission.My bad, I forgot to add this in the commit message. 3. kernel crash: kernel BUG at lib/genalloc.c:508! due to memory corruption in DMA descriptors and fixed it with spinlock 4. kernel crash: kernel BUG at lib/dynamic_queue_limits.c:99! due to race condition in netif_txq and fixed it with __netif_tx_lock()

But yeah I think the order you suggested makes more sense. Let me try that and post v2.

--
Thanks,
Meghana Malladi





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux