Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Feb 2016 05:44:56 +0000
From:      Phabricator <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] [Closed] D5167: hyperv/hn: Move LRO flush to the channel processing rollup
Message-ID:  <c9198d81d09fe437aa4521f8bf434026@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-ogleai2v4aflahucu2wl-req@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
This revision was automatically updated to reflect the committed changes.
Closed by commit rS295305: hyperv/hn: Move LRO flush to the channel processing rollup (authored by sephe).

CHANGED PRIOR TO COMMIT
  https://reviews.freebsd.org/D5167?vs=12948&id=13039#toc

REPOSITORY
  rS FreeBSD src repository

CHANGES SINCE LAST UPDATE
  https://reviews.freebsd.org/D5167?vs=12948&id=13039

REVISION DETAIL
  https://reviews.freebsd.org/D5167

AFFECTED FILES
  head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c

CHANGE DETAILS
  diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  @@ -764,6 +764,15 @@
   netvsc_channel_rollup(struct hv_device *device_ctx)
   {
   	struct hn_softc *sc = device_get_softc(device_ctx->device);
  +#if defined(INET) || defined(INET6)
  +	struct lro_ctrl *lro = &sc->hn_lro;
  +	struct lro_entry *queued;
  +
  +	while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
  +		SLIST_REMOVE_HEAD(&lro->lro_active, next);
  +		tcp_lro_flush(lro, queued);
  +	}
  +#endif
   
   	if (!sc->hn_txeof)
   		return;
  @@ -1338,18 +1347,8 @@
   }
   
   void
  -netvsc_recv_rollup(struct hv_device *device_ctx)
  +netvsc_recv_rollup(struct hv_device *device_ctx __unused)
   {
  -#if defined(INET) || defined(INET6)
  -	hn_softc_t *sc = device_get_softc(device_ctx->device);
  -	struct lro_ctrl *lro = &sc->hn_lro;
  -	struct lro_entry *queued;
  -
  -	while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
  -		SLIST_REMOVE_HEAD(&lro->lro_active, next);
  -		tcp_lro_flush(lro, queued);
  -	}
  -#endif
   }
   
   /*

EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network
Cc: freebsd-net-list

[-- Attachment #2 --]
diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
--- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
+++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
@@ -764,6 +764,15 @@
 netvsc_channel_rollup(struct hv_device *device_ctx)
 {
 	struct hn_softc *sc = device_get_softc(device_ctx->device);
+#if defined(INET) || defined(INET6)
+	struct lro_ctrl *lro = &sc->hn_lro;
+	struct lro_entry *queued;
+
+	while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
+		SLIST_REMOVE_HEAD(&lro->lro_active, next);
+		tcp_lro_flush(lro, queued);
+	}
+#endif
 
 	if (!sc->hn_txeof)
 		return;
@@ -1338,18 +1347,8 @@
 }
 
 void
-netvsc_recv_rollup(struct hv_device *device_ctx)
+netvsc_recv_rollup(struct hv_device *device_ctx __unused)
 {
-#if defined(INET) || defined(INET6)
-	hn_softc_t *sc = device_get_softc(device_ctx->device);
-	struct lro_ctrl *lro = &sc->hn_lro;
-	struct lro_entry *queued;
-
-	while ((queued = SLIST_FIRST(&lro->lro_active)) != NULL) {
-		SLIST_REMOVE_HEAD(&lro->lro_active, next);
-		tcp_lro_flush(lro, queued);
-	}
-#endif
 }
 
 /*

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c9198d81d09fe437aa4521f8bf434026>