> -----邮件原件-----
> 发件人: Magnus Karlsson [mailto:magnus.karls...@gmail.com]
> 发送时间: 2020年7月6日 14:13
> 收件人: Li,Rongqing <lirongq...@baidu.com>
> 抄送: intel-wired-lan <intel-wired-...@lists.osuosl.org>; Björn Töpel
> <bjorn.to...@intel.com>; Karlsson, Magnus <magnus.karls...@intel.com>;
> Netdev <netdev@vger.kernel.org>
> 主题: Re: [Intel-wired-lan] [bug ?] i40e_rx_buffer_flip should not be called for
> redirected xsk copy mode
> 
> Thank you RongQing for reporting this. I will take a look at it and produce a
> patch.
> 
> /Magnus

Thanks, and ixgbevf/ixgbe have same issue.

drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

I have a RFC, it maybe not better due to adding a new variable 
http://patchwork.ozlabs.org/project/netdev/patch/1593763926-24292-1-git-send-email-lirongq...@baidu.com/

or check memory type

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c 
b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index b3836092c327..f41664e0c84e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -2394,7 +2394,9 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, 
int budget)
 
                        if (xdp_res & (I40E_XDP_TX | I40E_XDP_REDIR)) {
                                xdp_xmit |= xdp_res;
-                               i40e_rx_buffer_flip(rx_ring, rx_buffer, size);
+
+                               if (xdp->rxq->mem.type != 
MEM_TYPE_XSK_BUFF_POOL)
+                                       i40e_rx_buffer_flip(rx_ring, rx_buffer, 
size);
                        } else {
                                rx_buffer->pagecnt_bias++;
                        }
Whether,  like to see your patch

-Li RongQing

Reply via email to