Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Feb 2016 05:33:36 +0000
From:      "sepherosa_gmail.com (Sepherosa Ziehau)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] [Request, 76 lines] D5290: hyperv/hn: Use buf_ring for txdesc list
Message-ID:  <differential-rev-PHID-DREV-6e75yqz6vzp5tcg75lsh-req@FreeBSD.org>

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

--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--



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