Module Name: src
Committed By: msaitoh
Date: Fri Sep 3 08:57:58 UTC 2021
Modified Files:
src/sys/dev/pci/ixgbe: ix_txrx.c ixgbe.h
Log Message:
Save the discard_multidesc state to not to forget the state by exiting rxeof().
To generate a diff of this commit:
cvs rdiff -u -r1.89 -r1.90 src/sys/dev/pci/ixgbe/ix_txrx.c
cvs rdiff -u -r1.79 -r1.80 src/sys/dev/pci/ixgbe/ixgbe.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/ixgbe/ix_txrx.c
diff -u src/sys/dev/pci/ixgbe/ix_txrx.c:1.89 src/sys/dev/pci/ixgbe/ix_txrx.c:1.90
--- src/sys/dev/pci/ixgbe/ix_txrx.c:1.89 Fri Sep 3 08:43:23 2021
+++ src/sys/dev/pci/ixgbe/ix_txrx.c Fri Sep 3 08:57:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $ */
+/* $NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $ */
/******************************************************************************
@@ -64,7 +64,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $");
#include "opt_inet.h"
#include "opt_inet6.h"
@@ -1568,6 +1568,7 @@ ixgbe_setup_receive_ring(struct rx_ring
rxr->next_to_check = 0;
rxr->next_to_refresh = adapter->num_rx_desc - 1; /* Fully allocated */
rxr->lro_enabled = FALSE;
+ rxr->discard_multidesc = false;
rxr->rx_copies.ev_count = 0;
#if 0 /* NetBSD */
rxr->rx_bytes.ev_count = 0;
@@ -1805,7 +1806,7 @@ ixgbe_rxeof(struct ix_queue *que)
u32 staterr = 0;
u32 loopcount = 0;
u32 limit = adapter->rx_process_limit;
- bool discard_multidesc = false;
+ bool discard_multidesc = rxr->discard_multidesc;
#ifdef RSS
u16 pkt_info;
#endif
@@ -2114,6 +2115,9 @@ next_desc:
}
}
+ /* Save the current status */
+ rxr->discard_multidesc = discard_multidesc;
+
/* Refresh any remaining buf structs */
if (ixgbe_rx_unrefreshed(rxr))
ixgbe_refresh_mbufs(rxr, i);
Index: src/sys/dev/pci/ixgbe/ixgbe.h
diff -u src/sys/dev/pci/ixgbe/ixgbe.h:1.79 src/sys/dev/pci/ixgbe/ixgbe.h:1.80
--- src/sys/dev/pci/ixgbe/ixgbe.h:1.79 Thu Aug 26 09:03:47 2021
+++ src/sys/dev/pci/ixgbe/ixgbe.h Fri Sep 3 08:57:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.h,v 1.79 2021/08/26 09:03:47 msaitoh Exp $ */
+/* $NetBSD: ixgbe.h,v 1.80 2021/09/03 08:57:58 msaitoh Exp $ */
/******************************************************************************
SPDX-License-Identifier: BSD-3-Clause
@@ -407,6 +407,7 @@ struct rx_ring {
bool lro_enabled;
bool hw_rsc;
bool vtag_strip;
+ bool discard_multidesc;
u16 next_to_refresh;
u16 next_to_check;
u16 num_desc;