From owner-freebsd-net@freebsd.org Mon Jun 6 08:40:02 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 A0BA7B6D5DD for ; Mon, 6 Jun 2016 08:40:02 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from reviews.nyi.freebsd.org (reviews.nyi.freebsd.org [IPv6:2610:1c1:1:607c::16:b]) by mx1.freebsd.org (Postfix) with ESMTP id 790941F00 for ; Mon, 6 Jun 2016 08:40:02 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id CAD9817966; Mon, 6 Jun 2016 08:40:01 +0000 (UTC) Date: Mon, 6 Jun 2016 08:40:01 +0000 To: freebsd-net@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D6689+325+6c89ed8b7a9bc66d@reviews.freebsd.org Subject: [Differential] D6689: tcp/lro: Implement hash table for LRO entries. Message-ID: <7f308e3259123615ab8095ec95c1e0ce@localhost.localdomain> 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: D6689: tcp/lro: Implement hash table for LRO entries. X-Herald-Rules: <64> 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-To: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: ZGRkYTdkZDNmZDVlODIxOWE3MGU3NDg3NmVjIFdVNuE= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_7f308e3259123615ab8095ec95c1e0ce" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.22 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jun 2016 08:40:02 -0000 --b1_7f308e3259123615ab8095ec95c1e0ce Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit sepherosa_gmail.com updated this revision to Diff 17347. sepherosa_gmail.com added a comment. Address hps's cache pollution concern for queue_mbuf path. Similar approach was in the patch obtained from rrs. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D6689?vs=17214&id=17347 REVISION DETAIL https://reviews.freebsd.org/D6689 AFFECTED FILES sys/netinet/tcp_lro.c sys/netinet/tcp_lro.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, rrs, gallatin, glebius, gnn, bz, rwatson, #transport, hselasky Cc: freebsd-net-list --b1_7f308e3259123615ab8095ec95c1e0ce Content-Type: text/x-patch; charset=utf-8; name="D6689.17347.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D6689.17347.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L3RjcF9scm8uaCBiL3N5cy9uZXRpbmV0L3RjcF9scm8u aAotLS0gYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmgKKysrIGIvc3lzL25ldGluZXQvdGNwX2xyby5o CkBAIC00MCw2ICs0MCw3IEBACiAKIHN0cnVjdCBscm9fZW50cnkgewogCUxJU1RfRU5UUlkobHJv X2VudHJ5KQluZXh0OworCUxJU1RfRU5UUlkobHJvX2VudHJ5KQloYXNoX25leHQ7CiAJc3RydWN0 IG1idWYJCSptX2hlYWQ7CiAJc3RydWN0IG1idWYJCSptX3RhaWw7CiAJdW5pb24gewpAQCAtOTUs NiArOTYsOCBAQAogCXVuc2lnbmVkIHNob3J0CWxyb19hY2tjbnRfbGltOwkJLyogbWF4ICMgb2Yg YWdncmVnYXRlZCBBQ0tzICovCiAJdW5zaWduZWQgCWxyb19sZW5ndGhfbGltOwkJLyogbWF4IGxl biBvZiBhZ2dyZWdhdGVkIGRhdGEgKi8KIAorCXVfbG9uZwkJbHJvX2hhc2hzejsKKwlzdHJ1Y3Qg bHJvX2hlYWQJKmxyb19oYXNoOwogCXN0cnVjdCBscm9faGVhZAlscm9fYWN0aXZlOwogCXN0cnVj dCBscm9faGVhZAlscm9fZnJlZTsKIH07CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC90Y3BfbHJv LmMgYi9zeXMvbmV0aW5ldC90Y3BfbHJvLmMKLS0tIGEvc3lzL25ldGluZXQvdGNwX2xyby5jCisr KyBiL3N5cy9uZXRpbmV0L3RjcF9scm8uYwpAQCAtNjgsMTkgKzY4LDI0IEBACiAjZW5kaWYKIAog c3RhdGljIHZvaWQJdGNwX2xyb19yeF9kb25lKHN0cnVjdCBscm9fY3RybCAqbGMpOworc3RhdGlj IGludAl0Y3BfbHJvX3J4MihzdHJ1Y3QgbHJvX2N0cmwgKmxjLCBzdHJ1Y3QgbWJ1ZiAqbSwKKwkJ ICAgIHVpbnQzMl90IGNzdW0sIGludCB1c2VfaGFzaCk7CiAKIHN0YXRpYyBfX2lubGluZSB2b2lk Ci10Y3BfbHJvX2FjdGl2ZV9pbnNlcnQoc3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IGxyb19l bnRyeSAqbGUpCit0Y3BfbHJvX2FjdGl2ZV9pbnNlcnQoc3RydWN0IGxyb19jdHJsICpsYywgc3Ry dWN0IGxyb19oZWFkICpidWNrZXQsCisgICAgc3RydWN0IGxyb19lbnRyeSAqbGUpCiB7CiAKIAlM SVNUX0lOU0VSVF9IRUFEKCZsYy0+bHJvX2FjdGl2ZSwgbGUsIG5leHQpOworCUxJU1RfSU5TRVJU X0hFQUQoYnVja2V0LCBsZSwgaGFzaF9uZXh0KTsKIH0KIAogc3RhdGljIF9faW5saW5lIHZvaWQK IHRjcF9scm9fYWN0aXZlX3JlbW92ZShzdHJ1Y3QgbHJvX2VudHJ5ICpsZSkKIHsKIAotCUxJU1Rf UkVNT1ZFKGxlLCBuZXh0KTsKKwlMSVNUX1JFTU9WRShsZSwgbmV4dCk7CQkvKiBhY3RpdmUgbGlz dCAqLworCUxJU1RfUkVNT1ZFKGxlLCBoYXNoX25leHQpOwkvKiBoYXNoIGJ1Y2tldCAqLwogfQog CiBpbnQKQEAgLTk1LDcgKzEwMCw3IEBACiB7CiAJc3RydWN0IGxyb19lbnRyeSAqbGU7CiAJc2l6 ZV90IHNpemU7Ci0JdW5zaWduZWQgaTsKKwl1bnNpZ25lZCBpLCBlbGVtZW50czsKIAogCWxjLT5s cm9fYmFkX2NzdW0gPSAwOwogCWxjLT5scm9fcXVldWVkID0gMDsKQEAgLTExMCw2ICsxMTUsMTgg QEAKIAlMSVNUX0lOSVQoJmxjLT5scm9fZnJlZSk7CiAJTElTVF9JTklUKCZsYy0+bHJvX2FjdGl2 ZSk7CiAKKwkvKiBjcmVhdGUgaGFzaCB0YWJsZSB0byBhY2NlbGVyYXRlIGVudHJ5IGxvb2t1cCAq LworCWlmIChscm9fZW50cmllcyA+IGxyb19tYnVmcykKKwkJZWxlbWVudHMgPSBscm9fZW50cmll czsKKwllbHNlCisJCWVsZW1lbnRzID0gbHJvX21idWZzOworCWxjLT5scm9faGFzaCA9IHBoYXNo aW5pdF9mbGFncyhlbGVtZW50cywgTV9MUk8sICZsYy0+bHJvX2hhc2hzeiwKKwkgICAgSEFTSF9O T1dBSVQpOworCWlmIChsYy0+bHJvX2hhc2ggPT0gTlVMTCkgeworCQltZW1zZXQobGMsIDAsIHNp emVvZigqbGMpKTsKKwkJcmV0dXJuIChFTk9NRU0pOworCX0KKwogCS8qIGNvbXB1dGUgc2l6ZSB0 byBhbGxvY2F0ZSAqLwogCXNpemUgPSAobHJvX21idWZzICogc2l6ZW9mKHN0cnVjdCBscm9fbWJ1 Zl9zb3J0KSkgKwogCSAgICAobHJvX2VudHJpZXMgKiBzaXplb2YoKmxlKSk7CkBAIC0xNDcsNiAr MTY0LDEzIEBACiAJCW1fZnJlZW0obGUtPm1faGVhZCk7CiAJfQogCisJLyogZnJlZSBoYXNoIHRh YmxlICovCisJaWYgKGxjLT5scm9faGFzaCAhPSBOVUxMKSB7CisJCWZyZWUobGMtPmxyb19oYXNo LCBNX0xSTyk7CisJCWxjLT5scm9faGFzaCA9IE5VTEw7CisJfQorCWxjLT5scm9faGFzaHN6ID0g MDsKKwogCS8qIGZyZWUgbWJ1ZiBhcnJheSwgaWYgYW55ICovCiAJZm9yICh4ID0gMDsgeCAhPSBs Yy0+bHJvX21idWZfY291bnQ7IHgrKykKIAkJbV9mcmVlbShsYy0+bHJvX21idWZfZGF0YVt4XS5t Yik7CkBAIC00ODcsNyArNTExLDcgQEAKIAkJfQogCiAJCS8qIGFkZCBwYWNrZXQgdG8gTFJPIGVu Z2luZSAqLwotCQlpZiAodGNwX2xyb19yeChsYywgbWIsIDApICE9IDApIHsKKwkJaWYgKHRjcF9s cm9fcngyKGxjLCBtYiwgMCwgMCkgIT0gMCkgewogCQkJLyogaW5wdXQgcGFja2V0IHRvIG5ldHdv cmsgbGF5ZXIgKi8KIAkJCSgqbGMtPmlmcC0+aWZfaW5wdXQpKGxjLT5pZnAsIG1iKTsKIAkJCWxj LT5scm9fcXVldWVkKys7CkBAIC01NjEsOCArNTg1LDggQEAKIH0KICNlbmRpZgogCi1pbnQKLXRj cF9scm9fcngoc3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IG1idWYgKm0sIHVpbnQzMl90IGNz dW0pCitzdGF0aWMgaW50Cit0Y3BfbHJvX3J4MihzdHJ1Y3QgbHJvX2N0cmwgKmxjLCBzdHJ1Y3Qg bWJ1ZiAqbSwgdWludDMyX3QgY3N1bSwgaW50IHVzZV9oYXNoKQogewogCXN0cnVjdCBscm9fZW50 cnkgKmxlOwogCXN0cnVjdCBldGhlcl9oZWFkZXIgKmVoOwpAQCAtNTc4LDYgKzYwMiw4IEBACiAJ dGNwX3NlcSBzZXE7CiAJaW50IGVycm9yLCBpcF9sZW4sIGw7CiAJdWludDE2X3QgZWhfdHlwZSwg dGNwX2RhdGFfbGVuOworCXN0cnVjdCBscm9faGVhZCAqYnVja2V0OworCXVpbnQzMl90IGhhc2g7 CiAKIAkvKiBXZSBleHBlY3QgYSBjb250aWd1b3VzIGhlYWRlciBbZWgsIGlwLCB0Y3BdLiAqLwog CkBAIC02NzAsOCArNjk2LDQxIEBACiAKIAlzZXEgPSBudG9obCh0aC0+dGhfc2VxKTsKIAorCWlm ICghdXNlX2hhc2gpIHsKKwkJYnVja2V0ID0gJmxjLT5scm9faGFzaFswXTsKKwkJZ290byBmaW5k OworCX0KKwlpZiAoTV9IQVNIVFlQRV9JU0hBU0gobSkpIHsKKwkJaGFzaCA9IG0tPm1fcGt0aGRy LmZsb3dpZDsKKwl9IGVsc2UgeworCQlzd2l0Y2ggKGVoX3R5cGUpIHsKKyNpZmRlZiBJTkVUCisJ CWNhc2UgRVRIRVJUWVBFX0lQOgorCQkJaGFzaCA9IGlwNC0+aXBfc3JjLnNfYWRkciArIGlwNC0+ aXBfZHN0LnNfYWRkcjsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgSU5FVDYKKwkJY2FzZSBF VEhFUlRZUEVfSVBWNjoKKwkJCWhhc2ggPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMyWzBdICsKKwkJ CSAgICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzBdOworCQkJaGFzaCArPSBpcDYtPmlwNl9zcmMu czZfYWRkcjMyWzFdICsKKwkJCSAgICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzFdOworCQkJaGFz aCArPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMyWzJdICsKKwkJCSAgICBpcDYtPmlwNl9kc3QuczZf YWRkcjMyWzJdOworCQkJaGFzaCArPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMyWzNdICsKKwkJCSAg ICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzNdOworCQkJYnJlYWs7CisjZW5kaWYKKwkJZGVmYXVs dDoKKwkJCWhhc2ggPSAwOworCQkJYnJlYWs7CisJCX0KKwkJaGFzaCArPSB0aC0+dGhfc3BvcnQg KyB0aC0+dGhfZHBvcnQ7CisJfQorCWJ1Y2tldCA9ICZsYy0+bHJvX2hhc2hbaGFzaCAlIGxjLT5s cm9faGFzaHN6XTsKK2ZpbmQ6CiAJLyogVHJ5IHRvIGZpbmQgYSBtYXRjaGluZyBwcmV2aW91cyBz ZWdtZW50LiAqLwotCUxJU1RfRk9SRUFDSChsZSwgJmxjLT5scm9fYWN0aXZlLCBuZXh0KSB7CisJ TElTVF9GT1JFQUNIKGxlLCBidWNrZXQsIGhhc2hfbmV4dCkgewogCQlpZiAobGUtPmVoX3R5cGUg IT0gZWhfdHlwZSkKIAkJCWNvbnRpbnVlOwogCQlpZiAobGUtPnNvdXJjZV9wb3J0ICE9IHRoLT50 aF9zcG9ydCB8fApAQCAtNzc5LDcgKzgzOCw3IEBACiAJLyogU3RhcnQgYSBuZXcgc2VnbWVudCBj aGFpbi4gKi8KIAlsZSA9IExJU1RfRklSU1QoJmxjLT5scm9fZnJlZSk7CiAJTElTVF9SRU1PVkUo bGUsIG5leHQpOwotCXRjcF9scm9fYWN0aXZlX2luc2VydChsYywgbGUpOworCXRjcF9scm9fYWN0 aXZlX2luc2VydChsYywgYnVja2V0LCBsZSk7CiAJZ2V0bWljcm90aW1lKCZsZS0+bXRpbWUpOwog CiAJLyogU3RhcnQgZmlsbGluZyBpbiBkZXRhaWxzLiAqLwpAQCAtODM3LDYgKzg5NiwxMyBAQAog CXJldHVybiAoMCk7CiB9CiAKK2ludAordGNwX2xyb19yeChzdHJ1Y3QgbHJvX2N0cmwgKmxjLCBz dHJ1Y3QgbWJ1ZiAqbSwgdWludDMyX3QgY3N1bSkKK3sKKworCXJldHVybiB0Y3BfbHJvX3J4Mihs YywgbSwgY3N1bSwgMSk7Cit9CisKIHZvaWQKIHRjcF9scm9fcXVldWVfbWJ1ZihzdHJ1Y3QgbHJv X2N0cmwgKmxjLCBzdHJ1Y3QgbWJ1ZiAqbWIpCiB7Cgo= --b1_7f308e3259123615ab8095ec95c1e0ce--