Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jan 2016 03:26:42 +0000
From:      "sepherosa_gmail.com (Sepherosa Ziehau)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] [Request, 136 lines] D5074: hyperv/hn: Improve sending performance
Message-ID:  <differential-rev-PHID-DREV-oqntlmzu2sup7ziqqx7l-req@FreeBSD.org>

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

--b1_2f2d29c51593edd58ffa1ccd9e9d8153
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
  - Avoid main lock contention by trylock for if_start, if that fails, schedule TX taskqueue for if_start
  - Don't do direct sending if the packet to be sent is large, e.g. TSO packet.
  
  This change gives me stable 9.1Gbps TCP sending performance w/ TSO over a 10Gbe directly connected network (the performance fluctuated between 4Gbps and 9Gbps before this commit).  It also improves non-TSO TCP sending performance a lot.

REVISION DETAIL
  https://reviews.freebsd.org/D5074

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

--b1_2f2d29c51593edd58ffa1ccd9e9d8153
Content-Type: text/x-patch; charset=utf-8; name="D5074.12702.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D5074.12702.patch"

ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu
YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z
eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl
di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xNDYsNiArMTQ2LDgg
QEAKICNkZWZpbmUgSE5fVFhfREFUQV9TRUdDTlRfTUFYCQlcCiAgICAgKE5FVFZTQ19QQUNLRVRf
TUFYUEFHRSAtIEhWX1JGX05VTV9UWF9SRVNFUlZFRF9QQUdFX0JVRlMpCiAKKyNkZWZpbmUgSE5f
RElSRUNUX1RYX1NJWkVfREVGCQkxMjgKKwogc3RydWN0IGhuX3R4ZGVzYyB7CiAJU0xJU1RfRU5U
UlkoaG5fdHhkZXNjKSBsaW5rOwogCXN0cnVjdCBtYnVmCSptOwpAQCAtMTk0LDYgKzE5Niw3IEBA
CiAjZGVmaW5lIE5WX0xPQ0tfSU5JVChfc2MsIF9uYW1lKSBcCiAJICAgIG10eF9pbml0KCYoX3Nj
KS0+aG5fbG9jaywgX25hbWUsIE1UWF9ORVRXT1JLX0xPQ0ssIE1UWF9ERUYpCiAjZGVmaW5lIE5W
X0xPQ0soX3NjKQkJbXR4X2xvY2soJihfc2MpLT5obl9sb2NrKQorI2RlZmluZSBOVl9UUllMT0NL
KF9zYykJCW10eF90cnlsb2NrKCYoX3NjKS0+aG5fbG9jaykKICNkZWZpbmUgTlZfTE9DS19BU1NF
UlQoX3NjKQltdHhfYXNzZXJ0KCYoX3NjKS0+aG5fbG9jaywgTUFfT1dORUQpCiAjZGVmaW5lIE5W
X1VOTE9DSyhfc2MpCQltdHhfdW5sb2NrKCYoX3NjKS0+aG5fbG9jaykKICNkZWZpbmUgTlZfTE9D
S19ERVNUUk9ZKF9zYykJbXR4X2Rlc3Ryb3koJihfc2MpLT5obl9sb2NrKQpAQCAtMjE5LDE1ICsy
MjIsMjAgQEAKIHN0YXRpYyBpbnQgaG5fdHhfY2hpbW5leV9zaXplID0gMDsKIFRVTkFCTEVfSU5U
KCJkZXYuaG4udHhfY2hpbW5leV9zaXplIiwgJmhuX3R4X2NoaW1uZXlfc2l6ZSk7CiAKKy8qIExp
bWl0IHRoZSBzaXplIG9mIHBhY2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiAqLworc3RhdGlj
IGludCBobl9kaXJlY3RfdHhfc2l6ZSA9IEhOX0RJUkVDVF9UWF9TSVpFX0RFRjsKK1RVTkFCTEVf
SU5UKCJkZXYuaG4uZGlyZWN0X3R4X3NpemUiLCAmaG5fZGlyZWN0X3R4X3NpemUpOworCiAvKgog
ICogRm9yd2FyZCBkZWNsYXJhdGlvbnMKICAqLwogc3RhdGljIHZvaWQgaG5fc3RvcChobl9zb2Z0
Y190ICpzYyk7CiBzdGF0aWMgdm9pZCBobl9pZmluaXRfbG9ja2VkKGhuX3NvZnRjX3QgKnNjKTsK
IHN0YXRpYyB2b2lkIGhuX2lmaW5pdCh2b2lkICp4c2MpOwogc3RhdGljIGludCAgaG5faW9jdGwo
c3RydWN0IGlmbmV0ICppZnAsIHVfbG9uZyBjbWQsIGNhZGRyX3QgZGF0YSk7Ci1zdGF0aWMgdm9p
ZCBobl9zdGFydF9sb2NrZWQoc3RydWN0IGlmbmV0ICppZnApOworc3RhdGljIGludCBobl9zdGFy
dF9sb2NrZWQoc3RydWN0IGlmbmV0ICppZnAsIGludCBsZW4pOwogc3RhdGljIHZvaWQgaG5fc3Rh
cnQoc3RydWN0IGlmbmV0ICppZnApOworc3RhdGljIHZvaWQgaG5fc3RhcnRfdHhlb2Yoc3RydWN0
IGlmbmV0ICppZnApOwogc3RhdGljIGludCBobl9pZm1lZGlhX3VwZChzdHJ1Y3QgaWZuZXQgKmlm
cCk7CiBzdGF0aWMgdm9pZCBobl9pZm1lZGlhX3N0cyhzdHJ1Y3QgaWZuZXQgKmlmcCwgc3RydWN0
IGlmbWVkaWFyZXEgKmlmbXIpOwogI2lmZGVmIEhOX0xST19ISVdBVApAQCAtMjM3LDYgKzI0NSw4
IEBACiBzdGF0aWMgaW50IGhuX2NoZWNrX2lwbGVuKGNvbnN0IHN0cnVjdCBtYnVmICosIGludCk7
CiBzdGF0aWMgaW50IGhuX2NyZWF0ZV90eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpOwogc3Rh
dGljIHZvaWQgaG5fZGVzdHJveV90eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpOworc3RhdGlj
IHZvaWQgaG5fc3RhcnRfdGFza2Z1bmModm9pZCAqeHNjLCBpbnQgcGVuZGluZyk7CitzdGF0aWMg
dm9pZCBobl90eGVvZl90YXNrZnVuYyh2b2lkICp4c2MsIGludCBwZW5kaW5nKTsKIAogc3RhdGlj
IF9faW5saW5lIHZvaWQKIGhuX3NldF9scm9faGl3YXQoc3RydWN0IGhuX3NvZnRjICpzYywgaW50
IGhpd2F0KQpAQCAtMzg0LDYgKzM5NCwxNCBAQAogCXNjLT5obl9kZXYgPSBkZXY7CiAJc2MtPmhu
X2xyb19oaXdhdCA9IEhOX0xST19ISVdBVF9ERUY7CiAJc2MtPmhuX3RydXN0X2hvc3R0Y3AgPSBo
bl90cnVzdF9ob3N0dGNwOworCXNjLT5obl9kaXJlY3RfdHhfc2l6ZSA9IGhuX2RpcmVjdF90eF9z
aXplOworCisJc2MtPmhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KCJobl90eCIs
IE1fV0FJVE9LLAorCSAgICB0YXNrcXVldWVfdGhyZWFkX2VucXVldWUsICZzYy0+aG5fdHhfdGFz
a3EpOworCXRhc2txdWV1ZV9zdGFydF90aHJlYWRzKCZzYy0+aG5fdHhfdGFza3EsIDEsIFBJX05F
VCwgIiVzIHR4IiwKKwkgICAgZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsKKwlUQVNLX0lOSVQo
JnNjLT5obl9zdGFydF90YXNrLCAwLCBobl9zdGFydF90YXNrZnVuYywgc2MpOworCVRBU0tfSU5J
VCgmc2MtPmhuX3R4ZW9mX3Rhc2ssIDAsIGhuX3R4ZW9mX3Rhc2tmdW5jLCBzYyk7CiAKIAllcnJv
ciA9IGhuX2NyZWF0ZV90eF9yaW5nKHNjKTsKIAlpZiAoZXJyb3IpCkBAIC01MjQsNiArNTQyLDkg
QEAKIAlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jaGltbmV5X3Np
emUiLAogCSAgICBDVExUWVBFX0lOVCB8IENUTEZMQUdfUlcsIHNjLCAwLCBobl90eF9jaGltbmV5
X3NpemVfc3lzY3RsLAogCSAgICAiSSIsICJDaGltbmV5IHNlbmQgcGFja2V0IHNpemUgbGltaXQi
KTsKKwlTWVNDVExfQUREX0lOVChjdHgsIGNoaWxkLCBPSURfQVVUTywgImRpcmVjdF90eF9zaXpl
IiwKKwkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9kaXJlY3RfdHhfc2l6ZSwgMCwKKwkgICAgIlNp
emUgb2YgdGhlIHBhY2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiIpOwogCiAJaWYgKHVuaXQg
PT0gMCkgewogCQlzdHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpkY19jdHg7CkBAIC01NDgsNiArNTY5
LDkgQEAKIAkJU1lTQ1RMX0FERF9JTlQoZGNfY3R4LCBkY19jaGlsZCwgT0lEX0FVVE8sICJ0c29f
bWF4bGVuIiwKIAkJICAgIENUTEZMQUdfUkQsICZobl90c29fbWF4bGVuLCAwLCAiVFNPIGJ1cnN0
IGxpbWl0Iik7CiAjZW5kaWYKKwkJU1lTQ1RMX0FERF9JTlQoZGNfY3R4LCBkY19jaGlsZCwgT0lE
X0FVVE8sICJkaXJlY3RfdHhfc2l6ZSIsCisJCSAgICBDVExGTEFHX1JELCAmaG5fZGlyZWN0X3R4
X3NpemUsIDAsCisJCSAgICAiU2l6ZSBvZiB0aGUgcGFja2V0IGZvciBkaXJlY3QgdHJhbnNtaXNz
aW9uIik7CiAJfQogCiAJcmV0dXJuICgwKTsKQEAgLTU4Myw2ICs2MDcsMTAgQEAKIAogCWh2X3Jm
X29uX2RldmljZV9yZW1vdmUoaHZfZGV2aWNlLCBIVl9SRl9OVl9ERVNUUk9ZX0NIQU5ORUwpOwog
CisJdGFza3F1ZXVlX2RyYWluKHNjLT5obl90eF90YXNrcSwgJnNjLT5obl9zdGFydF90YXNrKTsK
Kwl0YXNrcXVldWVfZHJhaW4oc2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3R4ZW9mX3Rhc2spOwor
CXRhc2txdWV1ZV9mcmVlKHNjLT5obl90eF90YXNrcSk7CisKIAlpZm1lZGlhX3JlbW92ZWFsbCgm
c2MtPmhuX21lZGlhKTsKICNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCiAJdGNw
X2xyb19mcmVlKCZzYy0+aG5fbHJvKTsKQEAgLTczMywyNCArNzYxLDE5IEBACiBuZXR2c2NfY2hh
bm5lbF9yb2xsdXAoc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX2N0eCkKIHsKIAlzdHJ1Y3QgaG5f
c29mdGMgKnNjID0gZGV2aWNlX2dldF9zb2Z0YyhkZXZpY2VfY3R4LT5kZXZpY2UpOwotCXN0cnVj
dCBpZm5ldCAqaWZwOwogCiAJaWYgKCFzYy0+aG5fdHhlb2YpCiAJCXJldHVybjsKIAogCXNjLT5o
bl90eGVvZiA9IDA7Ci0JaWZwID0gc2MtPmhuX2lmcDsKLQlOVl9MT0NLKHNjKTsKLQlpZnAtPmlm
X2Rydl9mbGFncyAmPSB+SUZGX0RSVl9PQUNUSVZFOwotCWhuX3N0YXJ0X2xvY2tlZChpZnApOwot
CU5WX1VOTE9DSyhzYyk7CisJaG5fc3RhcnRfdHhlb2Yoc2MtPmhuX2lmcCk7CiB9CiAKIC8qCiAg
KiBTdGFydCBhIHRyYW5zbWl0IG9mIG9uZSBvciBtb3JlIHBhY2tldHMKICAqLwotc3RhdGljIHZv
aWQKLWhuX3N0YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCkKK3N0YXRpYyBpbnQKK2huX3N0
YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCwgaW50IGxlbikKIHsKIAlobl9zb2Z0Y190ICpz
YyA9IGlmcC0+aWZfc29mdGM7CiAJc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX2N0eCA9IHZtYnVz
X2dldF9kZXZjdHgoc2MtPmhuX2Rldik7CkBAIC03NjgsNyArNzkxLDcgQEAKIAogCWlmICgoaWZw
LT5pZl9kcnZfZmxhZ3MgJiAoSUZGX0RSVl9SVU5OSU5HIHwgSUZGX0RSVl9PQUNUSVZFKSkgIT0K
IAkgICAgSUZGX0RSVl9SVU5OSU5HKQotCQlyZXR1cm47CisJCXJldHVybiAwOwogCiAJd2hpbGUg
KCFJRlFfRFJWX0lTX0VNUFRZKCZpZnAtPmlmX3NuZCkpIHsKIAkJYnVzX2RtYV9zZWdtZW50X3Qg
c2Vnc1tITl9UWF9EQVRBX1NFR0NOVF9NQVhdOwpAQCAtNzgxLDExICs4MDQsMjEgQEAKIAkJaWYg
KG1faGVhZCA9PSBOVUxMKQogCQkJYnJlYWs7CiAKKwkJaWYgKGxlbiA+IDAgJiYgbV9oZWFkLT5t
X3BrdGhkci5sZW4gPiBsZW4pIHsKKwkJCS8qCisJCQkgKiBUaGlzIHNlbmRpbmcgY291bGQgYmUg
dGltZSBjb25zdW1pbmc7IGxldCBjYWxsZXJzCisJCQkgKiBkaXNwYXRjaCB0aGlzIHBhY2tldCBz
ZW5kaW5nIChhbmQgc2VuZGluZyBvZiBhbnkKKwkJCSAqIGZvbGxvd2luZyB1cCBwYWNrZXRzKSB0
byB0eCB0YXNrcXVldWUuCisJCQkgKi8KKwkJCUlGX1BSRVBFTkQoJmlmcC0+aWZfc25kLCBtX2hl
YWQpOworCQkJcmV0dXJuIDE7CisJCX0KKwogCQl0eGQgPSBobl90eGRlc2NfZ2V0KHNjKTsKIAkJ
aWYgKHR4ZCA9PSBOVUxMKSB7CiAJCQlzYy0+aG5fbm9fdHhkZXNjcysrOwogCQkJSUZfUFJFUEVO
RCgmaWZwLT5pZl9zbmQsIG1faGVhZCk7Ci0JCQlpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJW
X09BQ1RJVkU7CisJCQlhdG9taWNfc2V0X2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZf
T0FDVElWRSk7CiAJCQlicmVhazsKIAkJfQogCkBAIC0xMDYwLDEwICsxMDkzLDExIEBACiAKIAkJ
CXNjLT5obl9zZW5kX2ZhaWxlZCsrOwogCQkJSUZfUFJFUEVORCgmaWZwLT5pZl9zbmQsIG1faGVh
ZCk7Ci0JCQlpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJWX09BQ1RJVkU7CisJCQlhdG9taWNf
c2V0X2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7CiAJCQlicmVhazsK
IAkJfQogCX0KKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTE1NTUsNyArMTU4OSw4IEBACiAJaWYg
KGJvb3R2ZXJib3NlKQogCQlwcmludGYoIiBDbG9zaW5nIERldmljZSAuLi5cbiIpOwogCi0JaWZw
LT5pZl9kcnZfZmxhZ3MgJj0gfihJRkZfRFJWX1JVTk5JTkcgfCBJRkZfRFJWX09BQ1RJVkUpOwor
CWF0b21pY19jbGVhcl9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLAorCSAgICAoSUZGX0RSVl9SVU5O
SU5HIHwgSUZGX0RSVl9PQUNUSVZFKSk7CiAJaWZfbGlua19zdGF0ZV9jaGFuZ2UoaWZwLCBMSU5L
X1NUQVRFX0RPV04pOwogCXNjLT5obl9pbml0ZG9uZSA9IDA7CiAKQEAgLTE1NzEsMTMgKzE2MDYs
NDMgQEAKIAlobl9zb2Z0Y190ICpzYzsKIAogCXNjID0gaWZwLT5pZl9zb2Z0YzsKLQlOVl9MT0NL
KHNjKTsKLQlpZiAoc2MtPnRlbXBfdW51c2FibGUpIHsKKwlpZiAoTlZfVFJZTE9DSyhzYykpIHsK
KwkJaW50IHNjaGVkOworCisJCXNjaGVkID0gaG5fc3RhcnRfbG9ja2VkKGlmcCwgc2MtPmhuX2Rp
cmVjdF90eF9zaXplKTsKIAkJTlZfVU5MT0NLKHNjKTsKLQkJcmV0dXJuOworCQlpZiAoIXNjaGVk
KQorCQkJcmV0dXJuOworCX0KKwl0YXNrcXVldWVfZW5xdWV1ZV9mYXN0KHNjLT5obl90eF90YXNr
cSwgJnNjLT5obl9zdGFydF90YXNrKTsKK30KKworc3RhdGljIHZvaWQKK2huX3N0YXJ0X3R4ZW9m
KHN0cnVjdCBpZm5ldCAqaWZwKQoreworCWhuX3NvZnRjX3QgKnNjOworCisJc2MgPSBpZnAtPmlm
X3NvZnRjOworCWlmIChOVl9UUllMT0NLKHNjKSkgeworCQlpbnQgc2NoZWQ7CisKKwkJYXRvbWlj
X2NsZWFyX2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7CisJCXNjaGVk
ID0gaG5fc3RhcnRfbG9ja2VkKGlmcCwgc2MtPmhuX2RpcmVjdF90eF9zaXplKTsKKwkJTlZfVU5M
T0NLKHNjKTsKKwkJaWYgKHNjaGVkKSB7CisJCQl0YXNrcXVldWVfZW5xdWV1ZV9mYXN0KHNjLT5o
bl90eF90YXNrcSwKKwkJCSAgICAmc2MtPmhuX3N0YXJ0X3Rhc2spOworCQl9CisJfSBlbHNlIHsK
KwkJLyoKKwkJICogUmVsZWFzZSB0aGUgT0FDVElWRSBlYXJsaWVyLCB3aXRoIHRoZSBob3BlLCB0
aGF0CisJCSAqIG90aGVycyBjb3VsZCBjYXRjaCB1cC4gIFRoZSB0YXNrIHdpbGwgY2xlYXIgdGhl
CisJCSAqIGZsYWcgYWdhaW4gd2l0aCB0aGUgTlZfTE9DSyB0byBhdm9pZCBwb3NzaWJsZQorCQkg
KiByYWNlcy4KKwkJICovCisJCWF0b21pY19jbGVhcl9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJ
RkZfRFJWX09BQ1RJVkUpOworCQl0YXNrcXVldWVfZW5xdWV1ZV9mYXN0KHNjLT5obl90eF90YXNr
cSwgJnNjLT5obl90eGVvZl90YXNrKTsKIAl9Ci0JaG5fc3RhcnRfbG9ja2VkKGlmcCk7Ci0JTlZf
VU5MT0NLKHNjKTsKIH0KIAogLyoKQEAgLTE2MDQsOCArMTY2OSw4IEBACiAJfSBlbHNlIHsKIAkJ
c2MtPmhuX2luaXRkb25lID0gMTsKIAl9Ci0JaWZwLT5pZl9kcnZfZmxhZ3MgfD0gSUZGX0RSVl9S
VU5OSU5HOwotCWlmcC0+aWZfZHJ2X2ZsYWdzICY9IH5JRkZfRFJWX09BQ1RJVkU7CisJYXRvbWlj
X2NsZWFyX2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7CisJYXRvbWlj
X3NldF9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX1JVTk5JTkcpOwogCWlmX2xpbmtf
c3RhdGVfY2hhbmdlKGlmcCwgTElOS19TVEFURV9VUCk7CiB9CiAKQEAgLTE5MDcsNiArMTk3Miwy
OCBAQAogCW10eF9kZXN0cm95KCZzYy0+aG5fdHhsaXN0X3NwaW4pOwogfQogCitzdGF0aWMgdm9p
ZAoraG5fc3RhcnRfdGFza2Z1bmModm9pZCAqeHNjLCBpbnQgcGVuZGluZyBfX3VudXNlZCkKK3sK
KwlzdHJ1Y3QgaG5fc29mdGMgKnNjID0geHNjOworCisJTlZfTE9DSyhzYyk7CisJaG5fc3RhcnRf
bG9ja2VkKHNjLT5obl9pZnAsIDApOworCU5WX1VOTE9DSyhzYyk7Cit9CisKK3N0YXRpYyB2b2lk
Citobl90eGVvZl90YXNrZnVuYyh2b2lkICp4c2MsIGludCBwZW5kaW5nIF9fdW51c2VkKQorewor
CXN0cnVjdCBobl9zb2Z0YyAqc2MgPSB4c2M7CisJc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+aG5f
aWZwOworCisJTlZfTE9DSyhzYyk7CisJYXRvbWljX2NsZWFyX2ludCgmaWZwLT5pZl9kcnZfZmxh
Z3MsIElGRl9EUlZfT0FDVElWRSk7CisJaG5fc3RhcnRfbG9ja2VkKGlmcCwgMCk7CisJTlZfVU5M
T0NLKHNjKTsKK30KKwogc3RhdGljIGRldmljZV9tZXRob2RfdCBuZXR2c2NfbWV0aG9kc1tdID0g
ewogICAgICAgICAvKiBEZXZpY2UgaW50ZXJmYWNlICovCiAgICAgICAgIERFVk1FVEhPRChkZXZp
Y2VfcHJvYmUsICAgICAgICAgbmV0dnNjX3Byb2JlKSwKZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlw
ZXJ2L25ldHZzYy9odl9uZXRfdnNjLmggYi9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3Zz
Yy5oCi0tLSBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKKysrIGIvc3lzL2Rl
di9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaApAQCAtMzksOSArMzksMTEgQEAKICNkZWZpbmUg
X19IVl9ORVRfVlNDX0hfXwogCiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lz
L2tlcm5lbC5oPgogI2luY2x1ZGUgPHN5cy9sb2NrLmg+CiAjaW5jbHVkZSA8c3lzL21hbGxvYy5o
PgogI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPgorI2luY2x1ZGUgPHN5cy90YXNrcXVldWUuaD4KICNp
bmNsdWRlIDxzeXMvc3guaD4KIAogI2luY2x1ZGUgPG1hY2hpbmUvYnVzLmg+CkBAIC0xMDA4LDE4
ICsxMDEwLDIzIEBACiAJc3RydWN0IGh2X2RldmljZSAgKmhuX2Rldl9vYmo7CiAJbmV0dnNjX2Rl
diAgCSpuZXRfZGV2OwogCi0JaW50CQlobl90eGRlc2NfY250OwogCXN0cnVjdCBobl90eGRlc2Mg
KmhuX3R4ZGVzYzsKIAlidXNfZG1hX3RhZ190CWhuX3R4X2RhdGFfZHRhZzsKIAlidXNfZG1hX3Rh
Z190CWhuX3R4X3JuZGlzX2R0YWc7CiAJaW50CQlobl90eF9jaGltbmV5X3NpemU7CiAJaW50CQlo
bl90eF9jaGltbmV5X21heDsKIAogCXN0cnVjdCBtdHgJaG5fdHhsaXN0X3NwaW47CiAJc3RydWN0
IGhuX3R4ZGVzY19saXN0IGhuX3R4bGlzdDsKKwlpbnQJCWhuX3R4ZGVzY19jbnQ7CiAJaW50CQlo
bl90eGRlc2NfYXZhaWw7CiAJaW50CQlobl90eGVvZjsKIAorCWludAkJaG5fZGlyZWN0X3R4X3Np
emU7CisJc3RydWN0IHRhc2txdWV1ZSAqaG5fdHhfdGFza3E7CisJc3RydWN0IHRhc2sJaG5fc3Rh
cnRfdGFzazsKKwlzdHJ1Y3QgdGFzawlobl90eGVvZl90YXNrOworCiAJc3RydWN0IGxyb19jdHJs
CWhuX2xybzsKIAlpbnQJCWhuX2xyb19oaXdhdDsKIAoK


--b1_2f2d29c51593edd58ffa1ccd9e9d8153--



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