From owner-freebsd-net@freebsd.org Tue Jun 14 02:10:26 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 0F5DFAF27D8 for ; Tue, 14 Jun 2016 02:10:26 +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 C724B24CB for ; Tue, 14 Jun 2016 02:10:25 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id 426FE1873C; Tue, 14 Jun 2016 02:10:25 +0000 (UTC) Date: Tue, 14 Jun 2016 02:10:25 +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: 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: ZGRkYTdkZDNmZDVlODIxOWE3MGU3NDg3NmVjIFdfZ5E= MIME-Version: 1.0 Content-Type: text/x-patch; charset=utf-8; name="D6689.17569.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D6689.17569.patch" X-Content-Filtered-By: Mailman/MimeDel 2.1.22 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: Tue, 14 Jun 2016 02:10:26 -0000 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 cnkgKmxlOwogCXN0cnVjdCBldGhlcl9oZWFkZXIgKmVoOwpAQCAtNTc4LDYgKzYwMiw3IEBACiAJ dGNwX3NlcSBzZXE7CiAJaW50IGVycm9yLCBpcF9sZW4sIGw7CiAJdWludDE2X3QgZWhfdHlwZSwg dGNwX2RhdGFfbGVuOworCXN0cnVjdCBscm9faGVhZCAqYnVja2V0OwogCiAJLyogV2UgZXhwZWN0 IGEgY29udGlndW91cyBoZWFkZXIgW2VoLCBpcCwgdGNwXS4gKi8KIApAQCAtNjcwLDggKzY5NSw0 MSBAQAogCiAJc2VxID0gbnRvaGwodGgtPnRoX3NlcSk7CiAKKwlpZiAoIXVzZV9oYXNoKSB7CisJ CWJ1Y2tldCA9ICZsYy0+bHJvX2hhc2hbMF07CisJfSBlbHNlIGlmIChNX0hBU0hUWVBFX0lTSEFT SChtKSkgeworCQlidWNrZXQgPSAmbGMtPmxyb19oYXNoW20tPm1fcGt0aGRyLmZsb3dpZCAlIGxj LT5scm9faGFzaHN6XTsKKwl9IGVsc2UgeworCQl1aW50MzJfdCBoYXNoOworCisJCXN3aXRjaCAo ZWhfdHlwZSkgeworI2lmZGVmIElORVQKKwkJY2FzZSBFVEhFUlRZUEVfSVA6CisJCQloYXNoID0g aXA0LT5pcF9zcmMuc19hZGRyICsgaXA0LT5pcF9kc3Quc19hZGRyOworCQkJYnJlYWs7CisjZW5k aWYKKyNpZmRlZiBJTkVUNgorCQljYXNlIEVUSEVSVFlQRV9JUFY2OgorCQkJaGFzaCA9IGlwNi0+ aXA2X3NyYy5zNl9hZGRyMzJbMF0gKworCQkJICAgIGlwNi0+aXA2X2RzdC5zNl9hZGRyMzJbMF07 CisJCQloYXNoICs9IGlwNi0+aXA2X3NyYy5zNl9hZGRyMzJbMV0gKworCQkJICAgIGlwNi0+aXA2 X2RzdC5zNl9hZGRyMzJbMV07CisJCQloYXNoICs9IGlwNi0+aXA2X3NyYy5zNl9hZGRyMzJbMl0g KworCQkJICAgIGlwNi0+aXA2X2RzdC5zNl9hZGRyMzJbMl07CisJCQloYXNoICs9IGlwNi0+aXA2 X3NyYy5zNl9hZGRyMzJbM10gKworCQkJICAgIGlwNi0+aXA2X2RzdC5zNl9hZGRyMzJbM107CisJ CQlicmVhazsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJaGFzaCA9IDA7CisJCQlicmVhazsKKwkJ fQorCQloYXNoICs9IHRoLT50aF9zcG9ydCArIHRoLT50aF9kcG9ydDsKKwkJYnVja2V0ID0gJmxj LT5scm9faGFzaFtoYXNoICUgbGMtPmxyb19oYXNoc3pdOworCX0KKwogCS8qIFRyeSB0byBmaW5k IGEgbWF0Y2hpbmcgcHJldmlvdXMgc2VnbWVudC4gKi8KLQlMSVNUX0ZPUkVBQ0gobGUsICZsYy0+ bHJvX2FjdGl2ZSwgbmV4dCkgeworCUxJU1RfRk9SRUFDSChsZSwgYnVja2V0LCBoYXNoX25leHQp IHsKIAkJaWYgKGxlLT5laF90eXBlICE9IGVoX3R5cGUpCiAJCQljb250aW51ZTsKIAkJaWYgKGxl LT5zb3VyY2VfcG9ydCAhPSB0aC0+dGhfc3BvcnQgfHwKQEAgLTc3OSw3ICs4MzcsNyBAQAogCS8q IFN0YXJ0IGEgbmV3IHNlZ21lbnQgY2hhaW4uICovCiAJbGUgPSBMSVNUX0ZJUlNUKCZsYy0+bHJv X2ZyZWUpOwogCUxJU1RfUkVNT1ZFKGxlLCBuZXh0KTsKLQl0Y3BfbHJvX2FjdGl2ZV9pbnNlcnQo bGMsIGxlKTsKKwl0Y3BfbHJvX2FjdGl2ZV9pbnNlcnQobGMsIGJ1Y2tldCwgbGUpOwogCWdldG1p Y3JvdGltZSgmbGUtPm10aW1lKTsKIAogCS8qIFN0YXJ0IGZpbGxpbmcgaW4gZGV0YWlscy4gKi8K QEAgLTgzNyw2ICs4OTUsMTMgQEAKIAlyZXR1cm4gKDApOwogfQogCitpbnQKK3RjcF9scm9fcngo c3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IG1idWYgKm0sIHVpbnQzMl90IGNzdW0pCit7CisK KwlyZXR1cm4gdGNwX2xyb19yeDIobGMsIG0sIGNzdW0sIDEpOworfQorCiB2b2lkCiB0Y3BfbHJv X3F1ZXVlX21idWYoc3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IG1idWYgKm1iKQogewoK