From owner-freebsd-net@freebsd.org Tue Feb 16 05:33:37 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 1304CAAAF98 for ; Tue, 16 Feb 2016 05:33:37 +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 F32DC1D50 for ; Tue, 16 Feb 2016 05:33:36 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id F08DF332081B; Tue, 16 Feb 2016 05:33:36 +0000 (UTC) Date: Tue, 16 Feb 2016 05:33:36 +0000 To: freebsd-net@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5290+325+0f29ffe2afeb1a89@reviews.freebsd.org Subject: [Differential] [Request, 76 lines] D5290: hyperv/hn: Use buf_ring for txdesc list 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: D5290: hyperv/hn: Use buf_ring for txdesc list 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: X-Phabricator-Cc: Precedence: bulk Thread-Index: OTExNDkzMzlmNjhmMjIyNzRkZmU3MzcwM2U5 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_ed6dc42d73ba2dd2572a60b5a2c34263" 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, 16 Feb 2016 05:33:37 -0000 --b1_ed6dc42d73ba2dd2572a60b5a2c34263 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 subscribers: freebsd-net-list, freebsd-virtualization-list. REVISION SUMMARY So one spinlock is avoided, which would be potentially dangerous for virtual machine, if the spinlock holder was scheduled out by the host as noted by royger. Old spinlock based txdesc list is still kept around, so we could have a safe fallback. No performance regression or improvement is observed. REVISION DETAIL https://reviews.freebsd.org/D5290 AFFECTED FILES sys/dev/hyperv/netvsc/hv_net_vsc.h sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c 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-virtualization-list, freebsd-net-list --b1_ed6dc42d73ba2dd2572a60b5a2c34263 Content-Type: text/x-patch; charset=utf-8; name="D5290.13340.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5290.13340.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC03MCw2ICs3MCw3IEBA CiAjaW5jbHVkZSA8c3lzL2xvY2suaD4KICNpbmNsdWRlIDxzeXMvc3guaD4KICNpbmNsdWRlIDxz eXMvc3lzY3RsLmg+CisjaW5jbHVkZSA8c3lzL2J1Zl9yaW5nLmg+CiAKICNpbmNsdWRlIDxuZXQv aWYuaD4KICNpbmNsdWRlIDxuZXQvaWZfYXJwLmg+CkBAIC0xNTEsNyArMTUyLDkgQEAKICNkZWZp bmUgSE5fRElSRUNUX1RYX1NJWkVfREVGCQkxMjgKIAogc3RydWN0IGhuX3R4ZGVzYyB7CisjaWZu ZGVmIEhOX1VTRV9UWERFU0NfQlVGUklORwogCVNMSVNUX0VOVFJZKGhuX3R4ZGVzYykgbGluazsK KyNlbmRpZgogCXN0cnVjdCBtYnVmCSptOwogCXN0cnVjdCBobl90eF9yaW5nICp0eHI7CiAJaW50 CQlyZWZzOwpAQCAtMjU4LDYgKzI2MSwxNCBAQAogCiBzdGF0aWMgc3RydWN0IHRhc2txdWV1ZQkq aG5fdHhfdGFza3E7CiAKKyNpZm5kZWYgSE5fVVNFX1RYREVTQ19CVUZSSU5HCitzdGF0aWMgaW50 IGhuX3VzZV90eGRlc2NfYnVmcmluZyA9IDA7CisjZWxzZQorc3RhdGljIGludCBobl91c2VfdHhk ZXNjX2J1ZnJpbmcgPSAxOworI2VuZGlmCitTWVNDVExfSU5UKF9od19obiwgT0lEX0FVVE8sIHVz ZV90eGRlc2NfYnVmcmluZywgQ1RMRkxBR19SRCwKKyAgICAmaG5fdXNlX3R4ZGVzY19idWZyaW5n LCAwLCAiVXNlIGJ1Zl9yaW5nIGZvciBUWCBkZXNjcmlwdG9ycyIpOworCiAvKgogICogRm9yd2Fy ZCBkZWNsYXJhdGlvbnMKICAqLwpAQCAtNTcwLDEzICs1ODEsMTggQEAKIAogCXR4ZC0+ZmxhZ3Mg fD0gSE5fVFhEX0ZMQUdfT05MSVNUOwogCisjaWZuZGVmIEhOX1VTRV9UWERFU0NfQlVGUklORwog CW10eF9sb2NrX3NwaW4oJnR4ci0+aG5fdHhsaXN0X3NwaW4pOwogCUtBU1NFUlQodHhyLT5obl90 eGRlc2NfYXZhaWwgPj0gMCAmJgogCSAgICB0eHItPmhuX3R4ZGVzY19hdmFpbCA8IHR4ci0+aG5f dHhkZXNjX2NudCwKIAkgICAgKCJ0eGRlc2NfcHV0OiBpbnZhbGlkIHR4ZCBhdmFpbCAlZCIsIHR4 ci0+aG5fdHhkZXNjX2F2YWlsKSk7CiAJdHhyLT5obl90eGRlc2NfYXZhaWwrKzsKIAlTTElTVF9J TlNFUlRfSEVBRCgmdHhyLT5obl90eGxpc3QsIHR4ZCwgbGluayk7CiAJbXR4X3VubG9ja19zcGlu KCZ0eHItPmhuX3R4bGlzdF9zcGluKTsKKyNlbHNlCisJYXRvbWljX2FkZF9pbnQoJnR4ci0+aG5f dHhkZXNjX2F2YWlsLCAxKTsKKwlidWZfcmluZ19lbnF1ZXVlKHR4ci0+aG5fdHhkZXNjX2JyLCB0 eGQpOworI2VuZGlmCiAKIAlyZXR1cm4gMTsKIH0KQEAgLTU4Niw2ICs2MDIsNyBAQAogewogCXN0 cnVjdCBobl90eGRlc2MgKnR4ZDsKIAorI2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIAlt dHhfbG9ja19zcGluKCZ0eHItPmhuX3R4bGlzdF9zcGluKTsKIAl0eGQgPSBTTElTVF9GSVJTVCgm dHhyLT5obl90eGxpc3QpOwogCWlmICh0eGQgIT0gTlVMTCkgewpAQCAtNTk1LDggKzYxMiwxNCBA QAogCQlTTElTVF9SRU1PVkVfSEVBRCgmdHhyLT5obl90eGxpc3QsIGxpbmspOwogCX0KIAltdHhf dW5sb2NrX3NwaW4oJnR4ci0+aG5fdHhsaXN0X3NwaW4pOworI2Vsc2UKKwl0eGQgPSBidWZfcmlu Z19kZXF1ZXVlX3NjKHR4ci0+aG5fdHhkZXNjX2JyKTsKKyNlbmRpZgogCiAJaWYgKHR4ZCAhPSBO VUxMKSB7CisjaWZkZWYgSE5fVVNFX1RYREVTQ19CVUZSSU5HCisJCWF0b21pY19zdWJ0cmFjdF9p bnQoJnR4ci0+aG5fdHhkZXNjX2F2YWlsLCAxKTsKKyNlbmRpZgogCQlLQVNTRVJUKHR4ZC0+bSA9 PSBOVUxMICYmIHR4ZC0+cmVmcyA9PSAwICYmCiAJCSAgICAodHhkLT5mbGFncyAmIEhOX1RYRF9G TEFHX09OTElTVCksICgiaW52YWxpZCB0eGQiKSk7CiAJCXR4ZC0+ZmxhZ3MgJj0gfkhOX1RYRF9G TEFHX09OTElTVDsKQEAgLTIwNDgsMTMgKzIwNzEsMjAgQEAKIAogCXR4ci0+aG5fc2MgPSBzYzsK IAorI2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIAltdHhfaW5pdCgmdHhyLT5obl90eGxp c3Rfc3BpbiwgImhuIHR4bGlzdCIsIE5VTEwsIE1UWF9TUElOKTsKKyNlbmRpZgogCW10eF9pbml0 KCZ0eHItPmhuX3R4X2xvY2ssICJobiB0eCIsIE5VTEwsIE1UWF9ERUYpOwogCiAJdHhyLT5obl90 eGRlc2NfY250ID0gSE5fVFhfREVTQ19DTlQ7CiAJdHhyLT5obl90eGRlc2MgPSBtYWxsb2Moc2l6 ZW9mKHN0cnVjdCBobl90eGRlc2MpICogdHhyLT5obl90eGRlc2NfY250LAogCSAgICBNX05FVFZT QywgTV9XQUlUT0sgfCBNX1pFUk8pOworI2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIAlT TElTVF9JTklUKCZ0eHItPmhuX3R4bGlzdCk7CisjZWxzZQorCXR4ci0+aG5fdHhkZXNjX2JyID0g YnVmX3JpbmdfYWxsb2ModHhyLT5obl90eGRlc2NfY250LCBNX05FVFZTQywKKwkgICAgTV9XQUlU T0ssICZ0eHItPmhuX3R4X2xvY2spOworI2VuZGlmCiAKIAl0eHItPmhuX3R4X3Rhc2txID0gc2Mt PmhuX3R4X3Rhc2txOwogCVRBU0tfSU5JVCgmdHhyLT5obl9zdGFydF90YXNrLCAwLCBobl9zdGFy dF90YXNrZnVuYywgdHhyKTsKQEAgLTIxNTgsNyArMjE4OCwxMSBAQAogCiAJCS8qIEFsbCBzZXQs IHB1dCBpdCB0byBsaXN0ICovCiAJCXR4ZC0+ZmxhZ3MgfD0gSE5fVFhEX0ZMQUdfT05MSVNUOwor I2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIAkJU0xJU1RfSU5TRVJUX0hFQUQoJnR4ci0+ aG5fdHhsaXN0LCB0eGQsIGxpbmspOworI2Vsc2UKKwkJYnVmX3JpbmdfZW5xdWV1ZSh0eHItPmhu X3R4ZGVzY19iciwgdHhkKTsKKyNlbmRpZgogCX0KIAl0eHItPmhuX3R4ZGVzY19hdmFpbCA9IHR4 ci0+aG5fdHhkZXNjX2NudDsKIApAQCAtMjE5MSwzNSArMjIyNSw0NyBAQAogfQogCiBzdGF0aWMg dm9pZAoraG5fdHhkZXNjX2RtYW1hcF9kZXN0cm95KHN0cnVjdCBobl90eGRlc2MgKnR4ZCkKK3sK KwlzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyID0gdHhkLT50eHI7CisKKwlLQVNTRVJUKHR4ZC0+bSA9 PSBOVUxMLCAoInN0aWxsIGhhcyBtYnVmIGluc3RhbGxlZCIpKTsKKwlLQVNTRVJUKCh0eGQtPmZs YWdzICYgSE5fVFhEX0ZMQUdfRE1BTUFQKSA9PSAwLCAoInN0aWxsIGRtYSBtYXBwZWQiKSk7CisK KwlidXNfZG1hbWFwX3VubG9hZCh0eHItPmhuX3R4X3JuZGlzX2R0YWcsIHR4ZC0+cm5kaXNfbXNn X2RtYXApOworCWJ1c19kbWFtZW1fZnJlZSh0eHItPmhuX3R4X3JuZGlzX2R0YWcsIHR4ZC0+cm5k aXNfbXNnLAorCSAgICB0eGQtPnJuZGlzX21zZ19kbWFwKTsKKwlidXNfZG1hbWFwX2Rlc3Ryb3ko dHhyLT5obl90eF9kYXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwKTsKK30KKworc3RhdGljIHZvaWQK IGhuX2Rlc3Ryb3lfdHhfcmluZyhzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyKQogewogCXN0cnVjdCBo bl90eGRlc2MgKnR4ZDsKIAogCWlmICh0eHItPmhuX3R4ZGVzYyA9PSBOVUxMKQogCQlyZXR1cm47 CiAKKyNpZm5kZWYgSE5fVVNFX1RYREVTQ19CVUZSSU5HCiAJd2hpbGUgKCh0eGQgPSBTTElTVF9G SVJTVCgmdHhyLT5obl90eGxpc3QpKSAhPSBOVUxMKSB7Ci0JCUtBU1NFUlQodHhkLT5tID09IE5V TEwsICgic3RpbGwgaGFzIG1idWYgaW5zdGFsbGVkIikpOwotCQlLQVNTRVJUKCh0eGQtPmZsYWdz ICYgSE5fVFhEX0ZMQUdfRE1BTUFQKSA9PSAwLAotCQkgICAgKCJzdGlsbCBkbWEgbWFwcGVkIikp OwogCQlTTElTVF9SRU1PVkVfSEVBRCgmdHhyLT5obl90eGxpc3QsIGxpbmspOwotCi0JCWJ1c19k bWFtYXBfdW5sb2FkKHR4ci0+aG5fdHhfcm5kaXNfZHRhZywKLQkJICAgIHR4ZC0+cm5kaXNfbXNn X2RtYXApOwotCQlidXNfZG1hbWVtX2ZyZWUodHhyLT5obl90eF9ybmRpc19kdGFnLAotCQkgICAg dHhkLT5ybmRpc19tc2csIHR4ZC0+cm5kaXNfbXNnX2RtYXApOwotCi0JCWJ1c19kbWFtYXBfZGVz dHJveSh0eHItPmhuX3R4X2RhdGFfZHRhZywgdHhkLT5kYXRhX2RtYXApOworCQlobl90eGRlc2Nf ZG1hbWFwX2Rlc3Ryb3kodHhkKTsKIAl9CisjZWxzZQorCXdoaWxlICgodHhkID0gYnVmX3Jpbmdf ZGVxdWV1ZV9zYyh0eHItPmhuX3R4ZGVzY19icikpICE9IE5VTEwpCisJCWhuX3R4ZGVzY19kbWFt YXBfZGVzdHJveSh0eGQpOworI2VuZGlmCiAKIAlpZiAodHhyLT5obl90eF9kYXRhX2R0YWcgIT0g TlVMTCkKIAkJYnVzX2RtYV90YWdfZGVzdHJveSh0eHItPmhuX3R4X2RhdGFfZHRhZyk7CiAJaWYg KHR4ci0+aG5fdHhfcm5kaXNfZHRhZyAhPSBOVUxMKQogCQlidXNfZG1hX3RhZ19kZXN0cm95KHR4 ci0+aG5fdHhfcm5kaXNfZHRhZyk7CiAJZnJlZSh0eHItPmhuX3R4ZGVzYywgTV9ORVRWU0MpOwog CXR4ci0+aG5fdHhkZXNjID0gTlVMTDsKIAorI2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcK IAltdHhfZGVzdHJveSgmdHhyLT5obl90eGxpc3Rfc3Bpbik7CisjZW5kaWYKIAltdHhfZGVzdHJv eSgmdHhyLT5obl90eF9sb2NrKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3lzL2Rldi9oeXBlcnYvbmV0 dnNjL2h2X25ldF92c2MuaCBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKLS0t IGEvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaAorKysgYi9zeXMvZGV2L2h5cGVy di9uZXR2c2MvaHZfbmV0X3ZzYy5oCkBAIC01OCw2ICs1OCw4IEBACiAKICNpbmNsdWRlIDxkZXYv aHlwZXJ2L2luY2x1ZGUvaHlwZXJ2Lmg+CiAKKyNkZWZpbmUgSE5fVVNFX1RYREVTQ19CVUZSSU5H CisKIE1BTExPQ19ERUNMQVJFKE1fTkVUVlNDKTsKIAogI2RlZmluZSBOVlNQX0lOVkFMSURfUFJP VE9DT0xfVkVSU0lPTiAgICAgICAgICAgKDB4RkZGRkZGRkYpCkBAIC05OTAsOCArOTkyLDEyIEBA CiAJaHZfYm9vbF91aW50OF90CWxpbmtfc3RhdGU7CiB9IG5ldHZzY19kZXZpY2VfaW5mbzsKIAor I2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIHN0cnVjdCBobl90eGRlc2M7CiBTTElTVF9I RUFEKGhuX3R4ZGVzY19saXN0LCBobl90eGRlc2MpOworI2Vsc2UKK3N0cnVjdCBidWZfcmluZzsK KyNlbmRpZgogCiBzdHJ1Y3QgaG5fcnhfcmluZyB7CiAJc3RydWN0IGxyb19jdHJsCWhuX2xybzsK QEAgLTEwMTIsOCArMTAxOCwxMiBAQAogI2RlZmluZSBITl9UUlVTVF9IQ1NVTV9VRFAJMHgwMDA0 CiAKIHN0cnVjdCBobl90eF9yaW5nIHsKKyNpZm5kZWYgSE5fVVNFX1RYREVTQ19CVUZSSU5HCiAJ c3RydWN0IG10eAlobl90eGxpc3Rfc3BpbjsKIAlzdHJ1Y3QgaG5fdHhkZXNjX2xpc3QgaG5fdHhs aXN0OworI2Vsc2UKKwlzdHJ1Y3QgYnVmX3JpbmcJKmhuX3R4ZGVzY19icjsKKyNlbmRpZgogCWlu dAkJaG5fdHhkZXNjX2NudDsKIAlpbnQJCWhuX3R4ZGVzY19hdmFpbDsKIAlpbnQJCWhuX3R4ZW9m OwoK --b1_ed6dc42d73ba2dd2572a60b5a2c34263--