Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Dec 2016 03:27:16 +0000 (UTC)
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r309346 - in head/sys: conf dev/hyperv/netvsc modules/hyperv/netvsc
Message-ID:  <201612010327.uB13RGZB092074@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sephe
Date: Thu Dec  1 03:27:16 2016
New Revision: 309346
URL: https://svnweb.freebsd.org/changeset/base/309346

Log:
  hyperv/hn: Add HN_DEBUG kernel option.
  
  If bufring is used for per-TX ring descs, don't update "available"
  counter, which is only used to help debugging.
  
  MFC after:	1 week
  Sponsored by:	Microsoft
  Differential Revision:	https://reviews.freebsd.org/D8674

Modified:
  head/sys/conf/options
  head/sys/dev/hyperv/netvsc/if_hn.c
  head/sys/modules/hyperv/netvsc/Makefile

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options	Thu Dec  1 02:35:15 2016	(r309345)
+++ head/sys/conf/options	Thu Dec  1 03:27:16 2016	(r309346)
@@ -1001,3 +1001,5 @@ EVDEV_SUPPORT	opt_evdev.h
 EVDEV_DEBUG	opt_evdev.h
 UINPUT_DEBUG	opt_evdev.h
 
+# Hyper-V network driver
+HN_DEBUG	opt_hn.h

Modified: head/sys/dev/hyperv/netvsc/if_hn.c
==============================================================================
--- head/sys/dev/hyperv/netvsc/if_hn.c	Thu Dec  1 02:35:15 2016	(r309345)
+++ head/sys/dev/hyperv/netvsc/if_hn.c	Thu Dec  1 03:27:16 2016	(r309346)
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$");
 
 #include "opt_inet6.h"
 #include "opt_inet.h"
+#include "opt_hn.h"
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -1428,10 +1429,12 @@ hn_txdesc_put(struct hn_tx_ring *txr, st
 	txr->hn_txdesc_avail++;
 	SLIST_INSERT_HEAD(&txr->hn_txlist, txd, link);
 	mtx_unlock_spin(&txr->hn_txlist_spin);
-#else
+#else	/* HN_USE_TXDESC_BUFRING */
+#ifdef HN_DEBUG
 	atomic_add_int(&txr->hn_txdesc_avail, 1);
-	buf_ring_enqueue(txr->hn_txdesc_br, txd);
 #endif
+	buf_ring_enqueue(txr->hn_txdesc_br, txd);
+#endif	/* !HN_USE_TXDESC_BUFRING */
 
 	return 1;
 }
@@ -1457,8 +1460,10 @@ hn_txdesc_get(struct hn_tx_ring *txr)
 
 	if (txd != NULL) {
 #ifdef HN_USE_TXDESC_BUFRING
+#ifdef HN_DEBUG
 		atomic_subtract_int(&txr->hn_txdesc_avail, 1);
 #endif
+#endif	/* HN_USE_TXDESC_BUFRING */
 		KASSERT(txd->m == NULL && txd->refs == 0 &&
 		    STAILQ_EMPTY(&txd->agg_list) &&
 		    txd->chim_index == HN_NVS_CHIM_IDX_INVALID &&
@@ -3467,9 +3472,11 @@ hn_tx_ring_create(struct hn_softc *sc, i
 		if (txr->hn_tx_sysctl_tree != NULL) {
 			child = SYSCTL_CHILDREN(txr->hn_tx_sysctl_tree);
 
+#ifdef HN_DEBUG
 			SYSCTL_ADD_INT(ctx, child, OID_AUTO, "txdesc_avail",
 			    CTLFLAG_RD, &txr->hn_txdesc_avail, 0,
 			    "# of available TX descs");
+#endif
 #ifdef HN_IFSTART_SUPPORT
 			if (!hn_use_if_start)
 #endif

Modified: head/sys/modules/hyperv/netvsc/Makefile
==============================================================================
--- head/sys/modules/hyperv/netvsc/Makefile	Thu Dec  1 02:35:15 2016	(r309345)
+++ head/sys/modules/hyperv/netvsc/Makefile	Thu Dec  1 03:27:16 2016	(r309346)
@@ -5,7 +5,7 @@
 
 KMOD=	hv_netvsc
 SRCS=	hn_nvs.c hn_rndis.c if_hn.c
-SRCS+=	bus_if.h device_if.h opt_inet.h opt_inet6.h vmbus_if.h
+SRCS+=	bus_if.h device_if.h opt_inet.h opt_inet6.h vmbus_if.h opt_hn.h
 
 CFLAGS+= -I${.CURDIR}/../../../dev/hyperv/netvsc
 



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