Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Feb 2016 10:22:29 +0000
From:      "sepherosa_gmail.com (Sepherosa Ziehau)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] [Request, 28 lines] D5166: hyperv/hn: Increase LRO entry count to 128 by default
Message-ID:  <differential-rev-PHID-DREV-d5qgyne332qk35iu2t6d-req@FreeBSD.org>

next in thread | raw e-mail | index | archive | help

--b1_020731e7f71b5160e2241da0917756fc
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: 8bit

sepherosa_gmail.com created this revision.
sepherosa_gmail.com added reviewers: network, adrian, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com.
sepherosa_gmail.com added a subscriber: freebsd-net-list.

REVISION SUMMARY
  hn(4) only has one RX ring, so default 8 LRO entries are too small.

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

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

CHANGE DETAILS
  diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  @@ -132,6 +132,8 @@
   /* YYY should get it from the underlying channel */
   #define HN_TX_DESC_CNT			512
   
  +#define HN_LROENT_CNT_DEF		128
  +
   #define HN_RNDIS_MSG_LEN		\
       (sizeof(rndis_msg) +		\
        RNDIS_VLAN_PPI_SIZE +		\
  @@ -232,6 +234,13 @@
   static int hn_direct_tx_size = HN_DIRECT_TX_SIZE_DEF;
   TUNABLE_INT("dev.hn.direct_tx_size", &hn_direct_tx_size);
   
  +#if defined(INET) || defined(INET6)
  +#if __FreeBSD_version >= 1100095
  +static int hn_lro_entry_count = HN_LROENT_CNT_DEF;
  +TUNABLE_INT("dev.hn.lro_entry_count", &hn_lro_entry_count);
  +#endif
  +#endif
  +
   /*
    * Forward declarations
    */
  @@ -335,6 +344,11 @@
   #if __FreeBSD_version >= 1100045
   	int tso_maxlen;
   #endif
  +#if defined(INET) || defined(INET6)
  +#if __FreeBSD_version >= 1100095
  +	int lroent_cnt;
  +#endif
  +#endif
   
   	sc = device_get_softc(dev);
   	if (sc == NULL) {
  @@ -417,9 +431,17 @@
   	}
   
   #if defined(INET) || defined(INET6)
  +#if __FreeBSD_version >= 1100095
  +	lroent_cnt = hn_lro_entry_count;
  +	if (lroent_cnt < TCP_LRO_ENTRIES)
  +		lroent_cnt = TCP_LRO_ENTRIES;
  +	tcp_lro_init_args(&sc->hn_lro, ifp, lroent_cnt, 0);
  +	device_printf(dev, "LRO: entry count %d\n", lroent_cnt);
  +#else
   	tcp_lro_init(&sc->hn_lro);
   	/* Driver private LRO settings */
   	sc->hn_lro.ifp = ifp;
  +#endif
   #ifdef HN_LRO_HIWAT
   	sc->hn_lro.lro_hiwat = sc->hn_lro_hiwat;
   #endif
  @@ -547,6 +569,12 @@
   		SYSCTL_ADD_INT(dc_ctx, dc_child, OID_AUTO, "direct_tx_size",
   		    CTLFLAG_RD, &hn_direct_tx_size, 0,
   		    "Size of the packet for direct transmission");
  +#if defined(INET) || defined(INET6)
  +#if __FreeBSD_version >= 1100095
  +		SYSCTL_ADD_INT(dc_ctx, dc_child, OID_AUTO, "lro_entry_count",
  +		    CTLFLAG_RD, &hn_lro_entry_count, 0, "LRO entry count");
  +#endif
  +#endif
   	}
   
   	return (0);

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

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

--b1_020731e7f71b5160e2241da0917756fc
Content-Type: text/x-patch; charset=utf-8; name="D5166.12947.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D5166.12947.patch"

ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu
YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z
eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl
di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xMzIsNiArMTMyLDgg
QEAKIC8qIFlZWSBzaG91bGQgZ2V0IGl0IGZyb20gdGhlIHVuZGVybHlpbmcgY2hhbm5lbCAqLwog
I2RlZmluZSBITl9UWF9ERVNDX0NOVAkJCTUxMgogCisjZGVmaW5lIEhOX0xST0VOVF9DTlRfREVG
CQkxMjgKKwogI2RlZmluZSBITl9STkRJU19NU0dfTEVOCQlcCiAgICAgKHNpemVvZihybmRpc19t
c2cpICsJCVwKICAgICAgUk5ESVNfVkxBTl9QUElfU0laRSArCQlcCkBAIC0yMzIsNiArMjM0LDEz
IEBACiBzdGF0aWMgaW50IGhuX2RpcmVjdF90eF9zaXplID0gSE5fRElSRUNUX1RYX1NJWkVfREVG
OwogVFVOQUJMRV9JTlQoImRldi5obi5kaXJlY3RfdHhfc2l6ZSIsICZobl9kaXJlY3RfdHhfc2l6
ZSk7CiAKKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCisjaWYgX19GcmVlQlNE
X3ZlcnNpb24gPj0gMTEwMDA5NQorc3RhdGljIGludCBobl9scm9fZW50cnlfY291bnQgPSBITl9M
Uk9FTlRfQ05UX0RFRjsKK1RVTkFCTEVfSU5UKCJkZXYuaG4ubHJvX2VudHJ5X2NvdW50IiwgJmhu
X2xyb19lbnRyeV9jb3VudCk7CisjZW5kaWYKKyNlbmRpZgorCiAvKgogICogRm9yd2FyZCBkZWNs
YXJhdGlvbnMKICAqLwpAQCAtMzM1LDYgKzM0NCwxMSBAQAogI2lmIF9fRnJlZUJTRF92ZXJzaW9u
ID49IDExMDAwNDUKIAlpbnQgdHNvX21heGxlbjsKICNlbmRpZgorI2lmIGRlZmluZWQoSU5FVCkg
fHwgZGVmaW5lZChJTkVUNikKKyNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDk1CisJaW50
IGxyb2VudF9jbnQ7CisjZW5kaWYKKyNlbmRpZgogCiAJc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRl
dik7CiAJaWYgKHNjID09IE5VTEwpIHsKQEAgLTQxNyw5ICs0MzEsMTcgQEAKIAl9CiAKICNpZiBk
ZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCisjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0g
MTEwMDA5NQorCWxyb2VudF9jbnQgPSBobl9scm9fZW50cnlfY291bnQ7CisJaWYgKGxyb2VudF9j
bnQgPCBUQ1BfTFJPX0VOVFJJRVMpCisJCWxyb2VudF9jbnQgPSBUQ1BfTFJPX0VOVFJJRVM7CisJ
dGNwX2xyb19pbml0X2FyZ3MoJnNjLT5obl9scm8sIGlmcCwgbHJvZW50X2NudCwgMCk7CisJZGV2
aWNlX3ByaW50ZihkZXYsICJMUk86IGVudHJ5IGNvdW50ICVkXG4iLCBscm9lbnRfY250KTsKKyNl
bHNlCiAJdGNwX2xyb19pbml0KCZzYy0+aG5fbHJvKTsKIAkvKiBEcml2ZXIgcHJpdmF0ZSBMUk8g
c2V0dGluZ3MgKi8KIAlzYy0+aG5fbHJvLmlmcCA9IGlmcDsKKyNlbmRpZgogI2lmZGVmIEhOX0xS
T19ISVdBVAogCXNjLT5obl9scm8ubHJvX2hpd2F0ID0gc2MtPmhuX2xyb19oaXdhdDsKICNlbmRp
ZgpAQCAtNTQ3LDYgKzU2OSwxMiBAQAogCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2NoaWxk
LCBPSURfQVVUTywgImRpcmVjdF90eF9zaXplIiwKIAkJICAgIENUTEZMQUdfUkQsICZobl9kaXJl
Y3RfdHhfc2l6ZSwgMCwKIAkJICAgICJTaXplIG9mIHRoZSBwYWNrZXQgZm9yIGRpcmVjdCB0cmFu
c21pc3Npb24iKTsKKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCisjaWYgX19G
cmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQorCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2No
aWxkLCBPSURfQVVUTywgImxyb19lbnRyeV9jb3VudCIsCisJCSAgICBDVExGTEFHX1JELCAmaG5f
bHJvX2VudHJ5X2NvdW50LCAwLCAiTFJPIGVudHJ5IGNvdW50Iik7CisjZW5kaWYKKyNlbmRpZgog
CX0KIAogCXJldHVybiAoMCk7Cgo=


--b1_020731e7f71b5160e2241da0917756fc--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-d5qgyne332qk35iu2t6d-req>