From owner-freebsd-net@freebsd.org Tue Feb 2 10:22:29 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB008A98524 for ; Tue, 2 Feb 2016 10:22:29 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from phabric-backend.rbsd.freebsd.org (unknown [IPv6:2607:fc50:2000:101::1bb:73]) by mx1.freebsd.org (Postfix) with ESMTP id 98C3C1338 for ; Tue, 2 Feb 2016 10:22:29 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 965621078FA; Tue, 2 Feb 2016 10:22:29 +0000 (UTC) Date: Tue, 2 Feb 2016 10:22:29 +0000 To: freebsd-net@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5166+325+a3471c38b880b49e@reviews.freebsd.org Subject: [Differential] [Request, 28 lines] D5166: hyperv/hn: Increase LRO entry count to 128 by default Message-ID: X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , , Thread-Topic: D5166: hyperv/hn: Increase LRO entry count to 128 by default X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: Precedence: bulk Thread-Index: NWRmOGI3NDFlMWM4OTg3OGUxYjZjYzIwNmVl MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_020731e7f71b5160e2241da0917756fc" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Feb 2016 10:22:29 -0000 --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--