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;

Reply via email to