From owner-freebsd-virtualization@freebsd.org Sun Feb 14 02:49:19 2016 Return-Path: Delivered-To: freebsd-virtualization@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 7FDD9AA085F for ; Sun, 14 Feb 2016 02:49:19 +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 67A7F15A1 for ; Sun, 14 Feb 2016 02:49:19 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 651303320412; Sun, 14 Feb 2016 02:49:19 +0000 (UTC) Date: Sun, 14 Feb 2016 02:49:19 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5185+333+b2354430ad09b93f@reviews.freebsd.org Subject: [Differential] [Updated, 115 lines] D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit Message-ID: <2b76a513a7071ca6090ec19d47846631@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: D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit 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-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: NTU0NmM0Mjk2NjdmNzVhNmM3MzlkMWQyNTdmIFa/6y8= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_2b76a513a7071ca6090ec19d47846631" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 02:49:19 -0000 --b1_2b76a513a7071ca6090ec19d47846631 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit sepherosa_gmail.com updated this revision to Diff 13282. sepherosa_gmail.com added a comment. Expand length limitation to 32 bits. Suggested by hselasky. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5185?vs=13028&id=13282 REVISION DETAIL https://reviews.freebsd.org/D5185 AFFECTED FILES sys/dev/hyperv/netvsc/hv_net_vsc.h sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c sys/netinet/tcp_lro.c sys/netinet/tcp_lro.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, np, transport, hselasky, network, adrian, gallatin Cc: freebsd-virtualization-list, freebsd-net-list --b1_2b76a513a7071ca6090ec19d47846631 Content-Type: text/x-patch; charset=utf-8; name="D5185.13282.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5185.13282.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L3RjcF9scm8uaCBiL3N5cy9uZXRpbmV0L3RjcF9scm8u aAotLS0gYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmgKKysrIGIvc3lzL25ldGluZXQvdGNwX2xyby5o CkBAIC05MSwxMSArOTEsMTYgQEAKIAl1bnNpZ25lZAlscm9fY250OwogCXVuc2lnbmVkCWxyb19t YnVmX2NvdW50OwogCXVuc2lnbmVkCWxyb19tYnVmX21heDsKKwl1bnNpZ25lZCBzaG9ydAlscm9f YWNrY250X2xpbTsJCS8qIG1heCAjIG9mIGFnZ3JlZ2F0ZWQgQUNLcyAqLworCXVuc2lnbmVkIAls cm9fbGVuZ3RoX2xpbTsJCS8qIG1heCBsZW4gb2YgYWdncmVnYXRlZCBkYXRhICovCiAKIAlzdHJ1 Y3QgbHJvX2hlYWQJbHJvX2FjdGl2ZTsKIAlzdHJ1Y3QgbHJvX2hlYWQJbHJvX2ZyZWU7CiB9Owog CisjZGVmaW5lCVRDUF9MUk9fTEVOR1RIX01BWAk2NTUzNQorI2RlZmluZQlUQ1BfTFJPX0FDS0NO VF9NQVgJNjU1MzUJCS8qIHVubGltaXRlZCAqLworCiBpbnQgdGNwX2xyb19pbml0KHN0cnVjdCBs cm9fY3RybCAqKTsKIGludCB0Y3BfbHJvX2luaXRfYXJncyhzdHJ1Y3QgbHJvX2N0cmwgKiwgc3Ry dWN0IGlmbmV0ICosIHVuc2lnbmVkLCB1bnNpZ25lZCk7CiB2b2lkIHRjcF9scm9fZnJlZShzdHJ1 Y3QgbHJvX2N0cmwgKik7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmMgYi9zeXMv bmV0aW5ldC90Y3BfbHJvLmMKLS0tIGEvc3lzL25ldGluZXQvdGNwX2xyby5jCisrKyBiL3N5cy9u ZXRpbmV0L3RjcF9scm8uYwpAQCAtODcsNiArODcsOCBAQAogCWxjLT5scm9fbWJ1Zl9jb3VudCA9 IDA7CiAJbGMtPmxyb19tYnVmX21heCA9IGxyb19tYnVmczsKIAlsYy0+bHJvX2NudCA9IGxyb19l bnRyaWVzOworCWxjLT5scm9fYWNrY250X2xpbSA9IFRDUF9MUk9fQUNLQ05UX01BWDsKKwlsYy0+ bHJvX2xlbmd0aF9saW0gPSBUQ1BfTFJPX0xFTkdUSF9NQVg7CiAJbGMtPmlmcCA9IGlmcDsKIAlT TElTVF9JTklUKCZsYy0+bHJvX2ZyZWUpOwogCVNMSVNUX0lOSVQoJmxjLT5scm9fYWN0aXZlKTsK QEAgLTYwOCw3ICs2MTAsNyBAQAogCQl9CiAKIAkJLyogRmx1c2ggbm93IGlmIGFwcGVuZGluZyB3 aWxsIHJlc3VsdCBpbiBvdmVyZmxvdy4gKi8KLQkJaWYgKGxlLT5wX2xlbiA+ICg2NTUzNSAtIHRj cF9kYXRhX2xlbikpIHsKKwkJaWYgKGxlLT5wX2xlbiA+IChsYy0+bHJvX2xlbmd0aF9saW0gLSB0 Y3BfZGF0YV9sZW4pKSB7CiAJCQlTTElTVF9SRU1PVkUoJmxjLT5scm9fYWN0aXZlLCBsZSwgbHJv X2VudHJ5LCBuZXh0KTsKIAkJCXRjcF9scm9fZmx1c2gobGMsIGxlKTsKIAkJCWJyZWFrOwpAQCAt NjQ2LDYgKzY0OCwxNSBAQAogCiAJCWlmICh0Y3BfZGF0YV9sZW4gPT0gMCkgewogCQkJbV9mcmVl bShtKTsKKwkJCS8qCisJCQkgKiBGbHVzaCB0aGlzIExSTyBlbnRyeSwgaWYgdGhpcyBBQ0sgc2hv dWxkIG5vdAorCQkJICogYmUgZnVydGhlciBkZWxheWVkLgorCQkJICovCisJCQlpZiAobGUtPmFw cGVuZF9jbnQgPj0gbGMtPmxyb19hY2tjbnRfbGltKSB7CisJCQkJU0xJU1RfUkVNT1ZFKCZsYy0+ bHJvX2FjdGl2ZSwgbGUsIGxyb19lbnRyeSwKKwkJCQkgICAgbmV4dCk7CisJCQkJdGNwX2xyb19m bHVzaChsYywgbGUpOworCQkJfQogCQkJcmV0dXJuICgwKTsKIAkJfQogCkBAIC02NjYsNyArNjc3 LDcgQEAKIAkJICogSWYgYSBwb3NzaWJsZSBuZXh0IGZ1bGwgbGVuZ3RoIHBhY2tldCB3b3VsZCBj YXVzZSBhbgogCQkgKiBvdmVyZmxvdywgcHJvLWFjdGl2ZWx5IGZsdXNoIG5vdy4KIAkJICovCi0J CWlmIChsZS0+cF9sZW4gPiAoNjU1MzUgLSBsYy0+aWZwLT5pZl9tdHUpKSB7CisJCWlmIChsZS0+ cF9sZW4gPiAobGMtPmxyb19sZW5ndGhfbGltIC0gbGMtPmlmcC0+aWZfbXR1KSkgewogCQkJU0xJ U1RfUkVNT1ZFKCZsYy0+bHJvX2FjdGl2ZSwgbGUsIGxyb19lbnRyeSwgbmV4dCk7CiAJCQl0Y3Bf bHJvX2ZsdXNoKGxjLCBsZSk7CiAJCX0gZWxzZQpkaWZmIC0tZ2l0IGEvc3lzL2Rldi9oeXBlcnYv bmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jIGIvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2 X25ldHZzY19kcnZfZnJlZWJzZC5jCi0tLSBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2 c2NfZHJ2X2ZyZWVic2QuYworKysgYi9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Ry dl9mcmVlYnNkLmMKQEAgLTE3NiwxNCArMTc2LDExIEBACiAjZGVmaW5lIEhOX0NTVU1fQVNTSVNU X1dJTjgJKENTVU1fVENQKQogI2RlZmluZSBITl9DU1VNX0FTU0lTVAkJKENTVU1fSVAgfCBDU1VN X1VEUCB8IENTVU1fVENQKQogCi0vKiBYWFggbW92ZSB0byBuZXRpbmV0L3RjcF9scm8uaCAqLwot I2RlZmluZSBITl9MUk9fSElXQVRfTUFYCQkJCTY1NTM1Ci0jZGVmaW5lIEhOX0xST19ISVdBVF9E RUYJCQkJSE5fTFJPX0hJV0FUX01BWAorI2RlZmluZSBITl9MUk9fTEVOTElNX0RFRgkJKDI1ICog RVRIRVJNVFUpCiAvKiBZWVkgMipNVFUgaXMgYSBiaXQgcm91Z2gsIGJ1dCBzaG91bGQgYmUgZ29v ZCBlbm91Z2guICovCi0jZGVmaW5lIEhOX0xST19ISVdBVF9NVFVMSU0oaWZwKQkJCSgyICogKGlm cCktPmlmX210dSkKLSNkZWZpbmUgSE5fTFJPX0hJV0FUX0lTVkFMSUQoc2MsIGhpd2F0KQkJCVwK LSAgICAoKGhpd2F0KSA+PSBITl9MUk9fSElXQVRfTVRVTElNKChzYyktPmhuX2lmcCkgfHwJXAot ICAgICAoaGl3YXQpIDw9IEhOX0xST19ISVdBVF9NQVgpCisjZGVmaW5lIEhOX0xST19MRU5MSU1f TUlOKGlmcCkJCSgyICogKGlmcCktPmlmX210dSkKKworI2RlZmluZSBITl9MUk9fQUNLQ05UX0RF RgkJMQogCiAvKgogICogQmUgYXdhcmUgdGhhdCB0aGlzIHNsZWVwYWJsZSBtdXRleCB3aWxsIGV4 aGliaXQgV0lUTkVTUyBlcnJvcnMgd2hlbgpAQCAtMjUzLDkgKzI1MCw4IEBACiBzdGF0aWMgdm9p ZCBobl9zdGFydF90eGVvZihzdHJ1Y3QgaWZuZXQgKmlmcCk7CiBzdGF0aWMgaW50IGhuX2lmbWVk aWFfdXBkKHN0cnVjdCBpZm5ldCAqaWZwKTsKIHN0YXRpYyB2b2lkIGhuX2lmbWVkaWFfc3RzKHN0 cnVjdCBpZm5ldCAqaWZwLCBzdHJ1Y3QgaWZtZWRpYXJlcSAqaWZtcik7Ci0jaWZkZWYgSE5fTFJP X0hJV0FUCi1zdGF0aWMgaW50IGhuX2xyb19oaXdhdF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJH Uyk7Ci0jZW5kaWYKK3N0YXRpYyBpbnQgaG5fbHJvX2xlbmxpbV9zeXNjdGwoU1lTQ1RMX0hBTkRM RVJfQVJHUyk7CitzdGF0aWMgaW50IGhuX2xyb19hY2tjbnRfc3lzY3RsKFNZU0NUTF9IQU5ETEVS X0FSR1MpOwogc3RhdGljIGludCBobl90cnVzdF9oY3N1bV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJf QVJHUyk7CiBzdGF0aWMgaW50IGhuX3R4X2NoaW1uZXlfc2l6ZV9zeXNjdGwoU1lTQ1RMX0hBTkRM RVJfQVJHUyk7CiBzdGF0aWMgaW50IGhuX2NoZWNrX2lwbGVuKGNvbnN0IHN0cnVjdCBtYnVmICos IGludCk7CkBAIC0yNjUsMTUgKzI2MSw2IEBACiBzdGF0aWMgdm9pZCBobl90eGVvZl90YXNrZnVu Yyh2b2lkICp4c2MsIGludCBwZW5kaW5nKTsKIHN0YXRpYyBpbnQgaG5fZW5jYXAoc3RydWN0IGhu X3NvZnRjICosIHN0cnVjdCBobl90eGRlc2MgKiwgc3RydWN0IG1idWYgKiopOwogCi1zdGF0aWMg X19pbmxpbmUgdm9pZAotaG5fc2V0X2xyb19oaXdhdChzdHJ1Y3QgaG5fc29mdGMgKnNjLCBpbnQg aGl3YXQpCi17Ci0Jc2MtPmhuX2xyb19oaXdhdCA9IGhpd2F0OwotI2lmZGVmIEhOX0xST19ISVdB VAotCXNjLT5obl9scm8ubHJvX2hpd2F0ID0gc2MtPmhuX2xyb19oaXdhdDsKLSNlbmRpZgotfQot CiBzdGF0aWMgaW50CiBobl9pZm1lZGlhX3VwZChzdHJ1Y3QgaWZuZXQgKmlmcCBfX3VudXNlZCkK IHsKQEAgLTM1OCw3ICszNDUsNiBAQAogCWJ6ZXJvKHNjLCBzaXplb2YoaG5fc29mdGNfdCkpOwog CXNjLT5obl91bml0ID0gdW5pdDsKIAlzYy0+aG5fZGV2ID0gZGV2OwotCXNjLT5obl9scm9faGl3 YXQgPSBITl9MUk9fSElXQVRfREVGOwogCXNjLT5obl9kaXJlY3RfdHhfc2l6ZSA9IGhuX2RpcmVj dF90eF9zaXplOwogCWlmIChobl90cnVzdF9ob3N0dGNwKQogCQlzYy0+aG5fdHJ1c3RfaGNzdW0g fD0gSE5fVFJVU1RfSENTVU1fVENQOwpAQCAtNDQyLDkgKzQyOCw4IEBACiAJLyogRHJpdmVyIHBy aXZhdGUgTFJPIHNldHRpbmdzICovCiAJc2MtPmhuX2xyby5pZnAgPSBpZnA7CiAjZW5kaWYKLSNp ZmRlZiBITl9MUk9fSElXQVQKLQlzYy0+aG5fbHJvLmxyb19oaXdhdCA9IHNjLT5obl9scm9faGl3 YXQ7Ci0jZW5kaWYKKwlzYy0+aG5fbHJvLmxyb19sZW5ndGhfbGltID0gSE5fTFJPX0xFTkxJTV9E RUY7CisJc2MtPmhuX2xyby5scm9fYWNrY250X2xpbSA9IEhOX0xST19BQ0tDTlRfREVGOwogI2Vu ZGlmCS8qIElORVQgfHwgSU5FVDYgKi8KIAogI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDExMDAw NDUKQEAgLTQ4MCwxMSArNDY1LDEyIEBACiAJICAgIENUTEZMQUdfUlcsICZzYy0+aG5fbHJvLmxy b19mbHVzaGVkLCAwLCAiTFJPIGZsdXNoZWQiKTsKIAlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX3RyaWVkIiwKIAkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9scm9f dHJpZWQsICIjIG9mIExSTyB0cmllcyIpOwotI2lmZGVmIEhOX0xST19ISVdBVAotCVNZU0NUTF9B RERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19oaXdhdCIsCi0JICAgIENUTFRZUEVf SU5UIHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX2xyb19oaXdhdF9zeXNjdGwsCi0JICAgICJJIiwg IkxSTyBoaWdoIHdhdGVybWFyayIpOwotI2VuZGlmCisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX2xlbmd0aF9saW0iLAorCSAgICBDVExUWVBFX1VJTlQgfCBDVExG TEFHX1JXLCBzYywgMCwgaG5fbHJvX2xlbmxpbV9zeXNjdGwsICJJVSIsCisJICAgICJNYXggIyBv ZiBkYXRhIGJ5dGVzIHRvIGJlIGFnZ3JlZ2F0ZWQgYnkgTFJPIik7CisJU1lTQ1RMX0FERF9QUk9D KGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX2Fja2NudF9saW0iLAorCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCAwLCBobl9scm9fYWNrY250X3N5c2N0bCwgIkkiLAorCSAgICAi TWF4ICMgb2YgQUNLcyB0byBiZSBhZ2dyZWdhdGVkIGJ5IExSTyIpOwogCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInRydXN0X2hvc3R0Y3AiLAogCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCBITl9UUlVTVF9IQ1NVTV9UQ1AsCiAJICAgIGhuX3RydXN0X2hj c3VtX3N5c2N0bCwgIkkiLApAQCAtMTQxMCwxMiArMTM5NiwxMyBAQAogCiAJCS8qIE9idGFpbiBh bmQgcmVjb3JkIHJlcXVlc3RlZCBNVFUgKi8KIAkJaWZwLT5pZl9tdHUgPSBpZnItPmlmcl9tdHU7 CisKIAkJLyoKLQkJICogTWFrZSBzdXJlIHRoYXQgTFJPIGhpZ2ggd2F0ZXJtYXJrIGlzIHN0aWxs IHZhbGlkLAotCQkgKiBhZnRlciBNVFUgY2hhbmdlICh0aGUgMipNVFUgbGltaXQpLgorCQkgKiBN YWtlIHN1cmUgdGhhdCBMUk8gYWdncmVnYXRpb24gbGVuZ3RoIGxpbWl0IGlzIHN0aWxsCisJCSAq IHZhbGlkLCBhZnRlciB0aGUgTVRVIGNoYW5nZS4KIAkJICovCi0JCWlmICghSE5fTFJPX0hJV0FU X0lTVkFMSUQoc2MsIHNjLT5obl9scm9faGl3YXQpKQotCQkJaG5fc2V0X2xyb19oaXdhdChzYywg SE5fTFJPX0hJV0FUX01UVUxJTShpZnApKTsKKwkJaWYgKHNjLT5obl9scm8ubHJvX2xlbmd0aF9s aW0gPCBITl9MUk9fTEVOTElNX01JTihpZnApKQorCQkJc2MtPmhuX2xyby5scm9fbGVuZ3RoX2xp bSA9IEhOX0xST19MRU5MSU1fTUlOKGlmcCk7CiAKIAkJZG8gewogCQkJTlZfTE9DSyhzYyk7CkBA IC0xNzIyLDI2ICsxNzA5LDUxIEBACiB9CiAjZW5kaWYKIAotI2lmZGVmIEhOX0xST19ISVdBVAog c3RhdGljIGludAotaG5fbHJvX2hpd2F0X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKQoraG5f bHJvX2xlbmxpbV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKIHsKIAlzdHJ1Y3QgaG5fc29m dGMgKnNjID0gYXJnMTsKLQlpbnQgaGl3YXQsIGVycm9yOworCXVuc2lnbmVkIGludCBsZW5saW07 CisJaW50IGVycm9yOwogCi0JaGl3YXQgPSBzYy0+aG5fbHJvX2hpd2F0OwotCWVycm9yID0gc3lz Y3RsX2hhbmRsZV9pbnQob2lkcCwgJmhpd2F0LCAwLCByZXEpOworCWxlbmxpbSA9IHNjLT5obl9s cm8ubHJvX2xlbmd0aF9saW07CisJZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAmbGVu bGltLCAwLCByZXEpOwogCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9PSBOVUxMKQogCQlyZXR1 cm4gZXJyb3I7CiAKLQlpZiAoIUhOX0xST19ISVdBVF9JU1ZBTElEKHNjLCBoaXdhdCkpCisJaWYg KGxlbmxpbSA8IEhOX0xST19MRU5MSU1fTUlOKHNjLT5obl9pZnApIHx8CisJICAgIGxlbmxpbSA+ IFRDUF9MUk9fTEVOR1RIX01BWCkKIAkJcmV0dXJuIEVJTlZBTDsKIAotCWlmIChzYy0+aG5fbHJv X2hpd2F0ICE9IGhpd2F0KQotCQlobl9zZXRfbHJvX2hpd2F0KHNjLCBoaXdhdCk7CisJc2MtPmhu X2xyby5scm9fbGVuZ3RoX2xpbSA9IGxlbmxpbTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu dAoraG5fbHJvX2Fja2NudF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKK3sKKwlzdHJ1Y3Qg aG5fc29mdGMgKnNjID0gYXJnMTsKKwlpbnQgYWNrY250LCBlcnJvcjsKKworCS8qCisJICogbHJv X2Fja2NudF9saW0gaXMgYXBwZW5kIGNvdW50IGxpbWl0LAorCSAqICsxIHRvIHR1cm4gaXQgaW50 byBhZ2dyZWdhdGlvbiBsaW1pdC4KKwkgKi8KKwlhY2tjbnQgPSBzYy0+aG5fbHJvLmxyb19hY2tj bnRfbGltICsgMTsKKwllcnJvciA9IHN5c2N0bF9oYW5kbGVfaW50KG9pZHAsICZhY2tjbnQsIDAs IHJlcSk7CisJaWYgKGVycm9yIHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCisJCXJldHVybiBlcnJv cjsKKworCWlmIChhY2tjbnQgPCAyIHx8IGFja2NudCA+IChUQ1BfTFJPX0FDS0NOVF9NQVggKyAx KSkKKwkJcmV0dXJuIEVJTlZBTDsKKworCS8qCisJICogQ29udmVydCBhZ2dyZWdhdGlvbiBsaW1p dCBiYWNrIHRvIGFwcGVuZAorCSAqIGNvdW50IGxpbWl0LgorCSAqLworCXNjLT5obl9scm8ubHJv X2Fja2NudF9saW0gPSBhY2tjbnQgLSAxOwogCXJldHVybiAwOwogfQotI2VuZGlmCS8qIEhOX0xS T19ISVdBVCAqLwogCiBzdGF0aWMgaW50CiBobl90cnVzdF9oY3N1bV9zeXNjdGwoU1lTQ1RMX0hB TkRMRVJfQVJHUykKZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNj LmggYi9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCi0tLSBhL3N5cy9kZXYvaHlw ZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKKysrIGIvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25l dF92c2MuaApAQCAtMTAzMCw3ICsxMDMwLDYgQEAKIAlzdHJ1Y3QgdGFzawlobl90eGVvZl90YXNr OwogCiAJc3RydWN0IGxyb19jdHJsCWhuX2xybzsKLQlpbnQJCWhuX2xyb19oaXdhdDsKIAogCS8q IFRydXN0IGNzdW0gdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSAqLwogCWludAkJaG5fdHJ1c3Rf aGNzdW07CS8qIEhOX1RSVVNUX0hDU1VNXyAqLwoK --b1_2b76a513a7071ca6090ec19d47846631-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 02:54:36 2016 Return-Path: Delivered-To: freebsd-virtualization@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 CC4D7AA0D74 for ; Sun, 14 Feb 2016 02:54:36 +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 AA8441B86 for ; Sun, 14 Feb 2016 02:54:36 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id AA0B13320785; Sun, 14 Feb 2016 02:54:36 +0000 (UTC) Date: Sun, 14 Feb 2016 02:54:36 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5272+333+f432600ef7536763@reviews.freebsd.org Subject: [Differential] [Request, 42 lines] D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances 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: D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances 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: ZDMwMGVlOTEyMjMxYzQ3NmRmOTRjNmZlNjNh MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_902cb86d3e7bdef24d6a5b3949548599" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 02:54:36 -0000 --b1_902cb86d3e7bdef24d6a5b3949548599 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 It is off by default. This eases further experimenting on this driver. REVISION DETAIL https://reviews.freebsd.org/D5272 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -238,6 +238,11 @@ #endif #endif +static int hn_share_tx_taskq = 0; +TUNABLE_INT("hw.hn.share_tx_taskq", &hn_share_tx_taskq); + +static struct taskqueue *hn_tx_taskq; + /* * Forward declarations */ @@ -353,10 +358,14 @@ if (hn_trust_hostip) sc->hn_trust_hcsum |= HN_TRUST_HCSUM_IP; - sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, - taskqueue_thread_enqueue, &sc->hn_tx_taskq); - taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", - device_get_nameunit(dev)); + if (hn_tx_taskq == NULL) { + sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + taskqueue_thread_enqueue, &sc->hn_tx_taskq); + taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", + device_get_nameunit(dev)); + } else { + sc->hn_tx_taskq = hn_tx_taskq; + } TASK_INIT(&sc->hn_start_task, 0, hn_start_taskfunc, sc); TASK_INIT(&sc->hn_txeof_task, 0, hn_txeof_taskfunc, sc); @@ -602,7 +611,8 @@ taskqueue_drain(sc->hn_tx_taskq, &sc->hn_start_task); taskqueue_drain(sc->hn_tx_taskq, &sc->hn_txeof_task); - taskqueue_free(sc->hn_tx_taskq); + if (sc->hn_tx_taskq != hn_tx_taskq) + taskqueue_free(sc->hn_tx_taskq); ifmedia_removeall(&sc->hn_media); #if defined(INET) || defined(INET6) @@ -2039,6 +2049,28 @@ NV_UNLOCK(sc); } +static void +hn_tx_taskq_create(void *arg __unused) +{ + if (!hn_share_tx_taskq) + return; + + hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + taskqueue_thread_enqueue, &hn_tx_taskq); + taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); +} +SYSINIT(hn_txtq_create, SI_SUB_DRIVERS, SI_ORDER_FIRST, + hn_tx_taskq_create, NULL); + +static void +hn_tx_taskq_destroy(void *arg __unused) +{ + if (hn_tx_taskq != NULL) + taskqueue_free(hn_tx_taskq); +} +SYSUNINIT(hn_txtq_destroy, SI_SUB_DRIVERS, SI_ORDER_FIRST, + hn_tx_taskq_destroy, NULL); + static device_method_t netvsc_methods[] = { /* Device interface */ DEVMETHOD(device_probe, netvsc_probe), 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_902cb86d3e7bdef24d6a5b3949548599 Content-Type: text/x-patch; charset=utf-8; name="D5272.13283.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5272.13283.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0yMzgsNiArMjM4LDEx IEBACiAjZW5kaWYKICNlbmRpZgogCitzdGF0aWMgaW50IGhuX3NoYXJlX3R4X3Rhc2txID0gMDsK K1RVTkFCTEVfSU5UKCJody5obi5zaGFyZV90eF90YXNrcSIsICZobl9zaGFyZV90eF90YXNrcSk7 CisKK3N0YXRpYyBzdHJ1Y3QgdGFza3F1ZXVlCSpobl90eF90YXNrcTsKKwogLyoKICAqIEZvcndh cmQgZGVjbGFyYXRpb25zCiAgKi8KQEAgLTM1MywxMCArMzU4LDE0IEBACiAJaWYgKGhuX3RydXN0 X2hvc3RpcCkKIAkJc2MtPmhuX3RydXN0X2hjc3VtIHw9IEhOX1RSVVNUX0hDU1VNX0lQOwogCi0J c2MtPmhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KCJobl90eCIsIE1fV0FJVE9L LAotCSAgICB0YXNrcXVldWVfdGhyZWFkX2VucXVldWUsICZzYy0+aG5fdHhfdGFza3EpOwotCXRh c2txdWV1ZV9zdGFydF90aHJlYWRzKCZzYy0+aG5fdHhfdGFza3EsIDEsIFBJX05FVCwgIiVzIHR4 IiwKLQkgICAgZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsKKwlpZiAoaG5fdHhfdGFza3EgPT0g TlVMTCkgeworCQlzYy0+aG5fdHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlX2Zhc3QoImhuX3R4 IiwgTV9XQUlUT0ssCisJCSAgICB0YXNrcXVldWVfdGhyZWFkX2VucXVldWUsICZzYy0+aG5fdHhf dGFza3EpOworCQl0YXNrcXVldWVfc3RhcnRfdGhyZWFkcygmc2MtPmhuX3R4X3Rhc2txLCAxLCBQ SV9ORVQsICIlcyB0eCIsCisJCSAgICBkZXZpY2VfZ2V0X25hbWV1bml0KGRldikpOworCX0gZWxz ZSB7CisJCXNjLT5obl90eF90YXNrcSA9IGhuX3R4X3Rhc2txOworCX0KIAlUQVNLX0lOSVQoJnNj LT5obl9zdGFydF90YXNrLCAwLCBobl9zdGFydF90YXNrZnVuYywgc2MpOwogCVRBU0tfSU5JVCgm c2MtPmhuX3R4ZW9mX3Rhc2ssIDAsIGhuX3R4ZW9mX3Rhc2tmdW5jLCBzYyk7CiAKQEAgLTYwMiw3 ICs2MTEsOCBAQAogCiAJdGFza3F1ZXVlX2RyYWluKHNjLT5obl90eF90YXNrcSwgJnNjLT5obl9z dGFydF90YXNrKTsKIAl0YXNrcXVldWVfZHJhaW4oc2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3R4 ZW9mX3Rhc2spOwotCXRhc2txdWV1ZV9mcmVlKHNjLT5obl90eF90YXNrcSk7CisJaWYgKHNjLT5o bl90eF90YXNrcSAhPSBobl90eF90YXNrcSkKKwkJdGFza3F1ZXVlX2ZyZWUoc2MtPmhuX3R4X3Rh c2txKTsKIAogCWlmbWVkaWFfcmVtb3ZlYWxsKCZzYy0+aG5fbWVkaWEpOwogI2lmIGRlZmluZWQo SU5FVCkgfHwgZGVmaW5lZChJTkVUNikKQEAgLTIwMzksNiArMjA0OSwyOCBAQAogCU5WX1VOTE9D SyhzYyk7CiB9CiAKK3N0YXRpYyB2b2lkCitobl90eF90YXNrcV9jcmVhdGUodm9pZCAqYXJnIF9f dW51c2VkKQoreworCWlmICghaG5fc2hhcmVfdHhfdGFza3EpCisJCXJldHVybjsKKworCWhuX3R4 X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KCJobl90eCIsIE1fV0FJVE9LLAorCSAgICB0 YXNrcXVldWVfdGhyZWFkX2VucXVldWUsICZobl90eF90YXNrcSk7CisJdGFza3F1ZXVlX3N0YXJ0 X3RocmVhZHMoJmhuX3R4X3Rhc2txLCAxLCBQSV9ORVQsICJobiB0eCIpOworfQorU1lTSU5JVCho bl90eHRxX2NyZWF0ZSwgU0lfU1VCX0RSSVZFUlMsIFNJX09SREVSX0ZJUlNULAorICAgIGhuX3R4 X3Rhc2txX2NyZWF0ZSwgTlVMTCk7CisKK3N0YXRpYyB2b2lkCitobl90eF90YXNrcV9kZXN0cm95 KHZvaWQgKmFyZyBfX3VudXNlZCkKK3sKKwlpZiAoaG5fdHhfdGFza3EgIT0gTlVMTCkKKwkJdGFz a3F1ZXVlX2ZyZWUoaG5fdHhfdGFza3EpOworfQorU1lTVU5JTklUKGhuX3R4dHFfZGVzdHJveSwg U0lfU1VCX0RSSVZFUlMsIFNJX09SREVSX0ZJUlNULAorICAgIGhuX3R4X3Rhc2txX2Rlc3Ryb3ks IE5VTEwpOworCiBzdGF0aWMgZGV2aWNlX21ldGhvZF90IG5ldHZzY19tZXRob2RzW10gPSB7CiAg ICAgICAgIC8qIERldmljZSBpbnRlcmZhY2UgKi8KICAgICAgICAgREVWTUVUSE9EKGRldmljZV9w cm9iZSwgICAgICAgICBuZXR2c2NfcHJvYmUpLAoK --b1_902cb86d3e7bdef24d6a5b3949548599-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 02:57:05 2016 Return-Path: Delivered-To: freebsd-virtualization@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 51AE5AA0FA3 for ; Sun, 14 Feb 2016 02:57:05 +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 3328F1D3A for ; Sun, 14 Feb 2016 02:57:05 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 3244033208C2; Sun, 14 Feb 2016 02:57:05 +0000 (UTC) Date: Sun, 14 Feb 2016 02:57:05 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5273+333+011061944716eb47@reviews.freebsd.org Subject: [Differential] [Request, 7 lines] D5273: hyperv/hn: Always do transmission scheduling. 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: D5273: hyperv/hn: Always do transmission scheduling. 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: NjBlMTZiZTJjNDkyNWRhNTA0YmJkYWZhYmIx MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_9d3c4b2c00e31a2633db8d0444029bdd" X-Mailman-Approved-At: Sun, 14 Feb 2016 03:09:44 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 02:57:05 -0000 --b1_9d3c4b2c00e31a2633db8d0444029bdd 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 This one gives the best performance so far. REVISION DETAIL https://reviews.freebsd.org/D5273 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -465,6 +465,13 @@ hn_tx_chimney_size < sc->hn_tx_chimney_max) sc->hn_tx_chimney_size = hn_tx_chimney_size; + /* + * Always schedule transmission instead of trying + * to do direct transmission. This one gives the + * best performance so far. + */ + sc->hn_sched_tx = 1; + ctx = device_get_sysctl_ctx(dev); child = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); 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_9d3c4b2c00e31a2633db8d0444029bdd Content-Type: text/x-patch; charset=utf-8; name="D5273.13284.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5273.13284.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC00NjUsNiArNDY1LDEz IEBACiAJICAgIGhuX3R4X2NoaW1uZXlfc2l6ZSA8IHNjLT5obl90eF9jaGltbmV5X21heCkKIAkJ c2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSA9IGhuX3R4X2NoaW1uZXlfc2l6ZTsKIAorCS8qCisJICog QWx3YXlzIHNjaGVkdWxlIHRyYW5zbWlzc2lvbiBpbnN0ZWFkIG9mIHRyeWluZworCSAqIHRvIGRv IGRpcmVjdCB0cmFuc21pc3Npb24uICBUaGlzIG9uZSBnaXZlcyB0aGUKKwkgKiBiZXN0IHBlcmZv cm1hbmNlIHNvIGZhci4KKwkgKi8KKwlzYy0+aG5fc2NoZWRfdHggPSAxOworCiAJY3R4ID0gZGV2 aWNlX2dldF9zeXNjdGxfY3R4KGRldik7CiAJY2hpbGQgPSBTWVNDVExfQ0hJTERSRU4oZGV2aWNl X2dldF9zeXNjdGxfdHJlZShkZXYpKTsKIAoK --b1_9d3c4b2c00e31a2633db8d0444029bdd-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 03:26:03 2016 Return-Path: Delivered-To: freebsd-virtualization@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 8C78DAA6069 for ; Sun, 14 Feb 2016 03:26:03 +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 6E9031007 for ; Sun, 14 Feb 2016 03:26:03 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 6D32133204BA; Sun, 14 Feb 2016 03:26:03 +0000 (UTC) Date: Sun, 14 Feb 2016 03:26:03 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5274+333+9ea095979011f33b@reviews.freebsd.org Subject: [Differential] [Request, 74 lines] D5274: hyperv/hn: Change global tunable prefix to hw.hn 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: D5274: hyperv/hn: Change global tunable prefix to hw.hn 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: MWFhYmZkMDZkODQzOGI1NjgyOWFlNTAzNzIw MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_d28bcd21ba24718451aa4af498c82e52" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 03:26:03 -0000 --b1_d28bcd21ba24718451aa4af498c82e52 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 And use SYSCTL+CTLFLAG_RDTUN for them. Suggested by: adrian REVISION DETAIL https://reviews.freebsd.org/D5274 AFFECTED FILES 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_d28bcd21ba24718451aa4af498c82e52 Content-Type: text/x-patch; charset=utf-8; name="D5274.13285.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5274.13285.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0yMDUsNDEgKzIwNSw1 NyBAQAogCiBpbnQgaHZfcHJvbWlzY19tb2RlID0gMDsgICAgLyogbm9ybWFsIG1vZGUgYnkgZGVm YXVsdCAqLwogCitTWVNDVExfTk9ERShfaHcsIE9JRF9BVVRPLCBobiwgQ1RMRkxBR19SRCwgTlVM TCwgIkh5cGVyLVYgbmV0d29yayBpbnRlcmZhY2UiKTsKKwogLyogVHJ1c3QgdGNwIHNlZ2VtZW50 cyB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLiAqLwogc3RhdGljIGludCBobl90cnVzdF9ob3N0 dGNwID0gMTsKLVRVTkFCTEVfSU5UKCJkZXYuaG4udHJ1c3RfaG9zdHRjcCIsICZobl90cnVzdF9o b3N0dGNwKTsKK1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgdHJ1c3RfaG9zdHRjcCwgQ1RM RkxBR19SRFRVTiwKKyAgICAmaG5fdHJ1c3RfaG9zdHRjcCwgMCwKKyAgICAiVHJ1c3QgdGNwIHNl Z2VtZW50IHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUsICIKKyAgICAid2hlbiBjc3VtIGluZm8g aXMgbWlzc2luZyAoZ2xvYmFsIHNldHRpbmcpIik7CiAKIC8qIFRydXN0IHVkcCBkYXRhZ3JhbXMg dmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZS4gKi8KIHN0YXRpYyBpbnQgaG5fdHJ1c3RfaG9zdHVk cCA9IDE7Ci1UVU5BQkxFX0lOVCgiZGV2LmhuLnRydXN0X2hvc3R1ZHAiLCAmaG5fdHJ1c3RfaG9z dHVkcCk7CitTWVNDVExfSU5UKF9od19obiwgT0lEX0FVVE8sIHRydXN0X2hvc3R1ZHAsIENUTEZM QUdfUkRUVU4sCisgICAgJmhuX3RydXN0X2hvc3R1ZHAsIDAsCisgICAgIlRydXN0IHVkcCBkYXRh Z3JhbSB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCisgICAgIndoZW4gY3N1bSBpbmZvIGlz IG1pc3NpbmcgKGdsb2JhbCBzZXR0aW5nKSIpOwogCiAvKiBUcnVzdCBpcCBwYWNrZXRzIHZlcmlm aWNhdGlvbiBvbiBob3N0IHNpZGUuICovCiBzdGF0aWMgaW50IGhuX3RydXN0X2hvc3RpcCA9IDE7 Ci1UVU5BQkxFX0lOVCgiZGV2LmhuLnRydXN0X2hvc3RpcCIsICZobl90cnVzdF9ob3N0aXApOwor U1lTQ1RMX0lOVChfaHdfaG4sIE9JRF9BVVRPLCB0cnVzdF9ob3N0aXAsIENUTEZMQUdfUkRUVU4s CisgICAgJmhuX3RydXN0X2hvc3RpcCwgMCwKKyAgICAiVHJ1c3QgaXAgcGFja2V0IHZlcmlmaWNh dGlvbiBvbiBob3N0IHNpZGUsICIKKyAgICAid2hlbiBjc3VtIGluZm8gaXMgbWlzc2luZyAoZ2xv YmFsIHNldHRpbmcpIik7CiAKICNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDQ1CiAvKiBM aW1pdCBUU08gYnVyc3Qgc2l6ZSAqLwogc3RhdGljIGludCBobl90c29fbWF4bGVuID0gMDsKLVRV TkFCTEVfSU5UKCJkZXYuaG4udHNvX21heGxlbiIsICZobl90c29fbWF4bGVuKTsKK1NZU0NUTF9J TlQoX2h3X2huLCBPSURfQVVUTywgdHNvX21heGxlbiwgQ1RMRkxBR19SRFRVTiwKKyAgICAmaG5f dHNvX21heGxlbiwgMCwgIlRTTyBidXJzdCBsaW1pdCIpOwogI2VuZGlmCiAKIC8qIExpbWl0IGNo aW1uZXkgc2VuZCBzaXplICovCiBzdGF0aWMgaW50IGhuX3R4X2NoaW1uZXlfc2l6ZSA9IDA7Ci1U VU5BQkxFX0lOVCgiZGV2LmhuLnR4X2NoaW1uZXlfc2l6ZSIsICZobl90eF9jaGltbmV5X3NpemUp OworU1lTQ1RMX0lOVChfaHdfaG4sIE9JRF9BVVRPLCB0eF9jaGltbmV5X3NpemUsIENUTEZMQUdf UkRUVU4sCisgICAgJmhuX3R4X2NoaW1uZXlfc2l6ZSwgMCwgIkNoaW1uZXkgc2VuZCBwYWNrZXQg c2l6ZSBsaW1pdCIpOwogCiAvKiBMaW1pdCB0aGUgc2l6ZSBvZiBwYWNrZXQgZm9yIGRpcmVjdCB0 cmFuc21pc3Npb24gKi8KIHN0YXRpYyBpbnQgaG5fZGlyZWN0X3R4X3NpemUgPSBITl9ESVJFQ1Rf VFhfU0laRV9ERUY7Ci1UVU5BQkxFX0lOVCgiZGV2LmhuLmRpcmVjdF90eF9zaXplIiwgJmhuX2Rp cmVjdF90eF9zaXplKTsKK1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgZGlyZWN0X3R4X3Np emUsIENUTEZMQUdfUkRUVU4sCisgICAgJmhuX2RpcmVjdF90eF9zaXplLCAwLCAiU2l6ZSBvZiB0 aGUgcGFja2V0IGZvciBkaXJlY3QgdHJhbnNtaXNzaW9uIik7CiAKICNpZiBkZWZpbmVkKElORVQp IHx8IGRlZmluZWQoSU5FVDYpCiAjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQogc3Rh dGljIGludCBobl9scm9fZW50cnlfY291bnQgPSBITl9MUk9FTlRfQ05UX0RFRjsKLVRVTkFCTEVf SU5UKCJkZXYuaG4ubHJvX2VudHJ5X2NvdW50IiwgJmhuX2xyb19lbnRyeV9jb3VudCk7CitTWVND VExfSU5UKF9od19obiwgT0lEX0FVVE8sIGxyb19lbnRyeV9jb3VudCwgQ1RMRkxBR19SRFRVTiwK KyAgICAmaG5fbHJvX2VudHJ5X2NvdW50LCAwLCAiTFJPIGVudHJ5IGNvdW50Iik7CiAjZW5kaWYK ICNlbmRpZgogCiBzdGF0aWMgaW50IGhuX3NoYXJlX3R4X3Rhc2txID0gMDsKLVRVTkFCTEVfSU5U KCJody5obi5zaGFyZV90eF90YXNrcSIsICZobl9zaGFyZV90eF90YXNrcSk7CitTWVNDVExfSU5U KF9od19obiwgT0lEX0FVVE8sIHNoYXJlX3R4X3Rhc2txLCBDVExGTEFHX1JEVFVOLAorICAgICZo bl9zaGFyZV90eF90YXNrcSwgMCwgIkVuYWJsZSBzaGFyZWQgVFggdGFza3F1ZXVlIik7CiAKIHN0 YXRpYyBzdHJ1Y3QgdGFza3F1ZXVlCSpobl90eF90YXNrcTsKIApAQCAtNTQxLDQ4ICs1NTcsNiBA QAogCSAgICAiQWx3YXlzIHNjaGVkdWxlIHRyYW5zbWlzc2lvbiAiCiAJICAgICJpbnN0ZWFkIG9m IGRvaW5nIGRpcmVjdCB0cmFuc21pc3Npb24iKTsKIAotCWlmICh1bml0ID09IDApIHsKLQkJc3Ry dWN0IHN5c2N0bF9jdHhfbGlzdCAqZGNfY3R4OwotCQlzdHJ1Y3Qgc3lzY3RsX29pZF9saXN0ICpk Y19jaGlsZDsKLQkJZGV2Y2xhc3NfdCBkYzsKLQotCQkvKgotCQkgKiBBZGQgc3lzY3RsIG5vZGVz IGZvciBkZXZjbGFzcwotCQkgKi8KLQkJZGMgPSBkZXZpY2VfZ2V0X2RldmNsYXNzKGRldik7Ci0J CWRjX2N0eCA9IGRldmNsYXNzX2dldF9zeXNjdGxfY3R4KGRjKTsKLQkJZGNfY2hpbGQgPSBTWVND VExfQ0hJTERSRU4oZGV2Y2xhc3NfZ2V0X3N5c2N0bF90cmVlKGRjKSk7Ci0KLQkJU1lTQ1RMX0FE RF9JTlQoZGNfY3R4LCBkY19jaGlsZCwgT0lEX0FVVE8sICJ0cnVzdF9ob3N0dGNwIiwKLQkJICAg IENUTEZMQUdfUkQsICZobl90cnVzdF9ob3N0dGNwLCAwLAotCQkgICAgIlRydXN0IHRjcCBzZWdl bWVudCB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCi0JCSAgICAid2hlbiBjc3VtIGluZm8g aXMgbWlzc2luZyAoZ2xvYmFsIHNldHRpbmcpIik7Ci0JCVNZU0NUTF9BRERfSU5UKGRjX2N0eCwg ZGNfY2hpbGQsIE9JRF9BVVRPLCAidHJ1c3RfaG9zdHVkcCIsCi0JCSAgICBDVExGTEFHX1JELCAm aG5fdHJ1c3RfaG9zdHVkcCwgMCwKLQkJICAgICJUcnVzdCB1ZHAgZGF0YWdyYW0gdmVyaWZpY2F0 aW9uIG9uIGhvc3Qgc2lkZSwgIgotCQkgICAgIndoZW4gY3N1bSBpbmZvIGlzIG1pc3NpbmcgKGds b2JhbCBzZXR0aW5nKSIpOwotCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2NoaWxkLCBPSURf QVVUTywgInRydXN0X2hvc3RpcCIsCi0JCSAgICBDVExGTEFHX1JELCAmaG5fdHJ1c3RfaG9zdGlw LCAwLAotCQkgICAgIlRydXN0IGlwIHBhY2tldCB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAi Ci0JCSAgICAid2hlbiBjc3VtIGluZm8gaXMgbWlzc2luZyAoZ2xvYmFsIHNldHRpbmcpIik7Ci0J CVNZU0NUTF9BRERfSU5UKGRjX2N0eCwgZGNfY2hpbGQsIE9JRF9BVVRPLCAidHhfY2hpbW5leV9z aXplIiwKLQkJICAgIENUTEZMQUdfUkQsICZobl90eF9jaGltbmV5X3NpemUsIDAsCi0JCSAgICAi Q2hpbW5leSBzZW5kIHBhY2tldCBzaXplIGxpbWl0Iik7Ci0jaWYgX19GcmVlQlNEX3ZlcnNpb24g Pj0gMTEwMDA0NQotCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2NoaWxkLCBPSURfQVVUTywg InRzb19tYXhsZW4iLAotCQkgICAgQ1RMRkxBR19SRCwgJmhuX3Rzb19tYXhsZW4sIDAsICJUU08g YnVyc3QgbGltaXQiKTsKLSNlbmRpZgotCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2NoaWxk LCBPSURfQVVUTywgImRpcmVjdF90eF9zaXplIiwKLQkJICAgIENUTEZMQUdfUkQsICZobl9kaXJl Y3RfdHhfc2l6ZSwgMCwKLQkJICAgICJTaXplIG9mIHRoZSBwYWNrZXQgZm9yIGRpcmVjdCB0cmFu c21pc3Npb24iKTsKLSNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCi0jaWYgX19G cmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQotCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2No aWxkLCBPSURfQVVUTywgImxyb19lbnRyeV9jb3VudCIsCi0JCSAgICBDVExGTEFHX1JELCAmaG5f bHJvX2VudHJ5X2NvdW50LCAwLCAiTFJPIGVudHJ5IGNvdW50Iik7Ci0jZW5kaWYKLSNlbmRpZgot CX0KLQogCXJldHVybiAoMCk7CiBmYWlsZWQ6CiAJaG5fZGVzdHJveV90eF9yaW5nKHNjKTsKCg== --b1_d28bcd21ba24718451aa4af498c82e52-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 08:23:17 2016 Return-Path: Delivered-To: freebsd-virtualization@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 714FCAA141E for ; Sun, 14 Feb 2016 08:23:17 +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 5D31D13D7 for ; Sun, 14 Feb 2016 08:23:17 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 5B4F63320F15; Sun, 14 Feb 2016 08:23:17 +0000 (UTC) Date: Sun, 14 Feb 2016 08:23:17 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5275+333+864504ab3c6c1bfb@reviews.freebsd.org Subject: [Differential] [Request, 374 lines] D5275: hyperv/hn: Split RX ring data structure out of softc 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: D5275: hyperv/hn: Split RX ring data structure out of softc 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: YjcyNDdhYWMyM2I2MDliMDQ0MmIxOWZkYTEz MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_c046246977510ae753b330a7c3da2eb3" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 08:23:17 -0000 --b1_c046246977510ae753b330a7c3da2eb3 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 This paves the way for upcoming vRSS stuffs and eases more code cleanup. REVISION DETAIL https://reviews.freebsd.org/D5275 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_c046246977510ae753b330a7c3da2eb3 Content-Type: text/x-patch; charset=utf-8; name="D5275.13287.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5275.13287.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0yNzUsMTIgKzI3NSwx NiBAQAogc3RhdGljIGludCBobl9scm9fYWNrY250X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdT KTsKIHN0YXRpYyBpbnQgaG5fdHJ1c3RfaGNzdW1fc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1Mp Owogc3RhdGljIGludCBobl90eF9jaGltbmV5X3NpemVfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FS R1MpOworc3RhdGljIGludCBobl9yeF9zdGF0X3Vsb25nX3N5c2N0bChTWVNDVExfSEFORExFUl9B UkdTKTsKK3N0YXRpYyBpbnQgaG5fcnhfc3RhdF91NjRfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FS R1MpOwogc3RhdGljIGludCBobl9jaGVja19pcGxlbihjb25zdCBzdHJ1Y3QgbWJ1ZiAqLCBpbnQp Owogc3RhdGljIGludCBobl9jcmVhdGVfdHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKIHN0 YXRpYyB2b2lkIGhuX2Rlc3Ryb3lfdHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKIHN0YXRp YyB2b2lkIGhuX3N0YXJ0X3Rhc2tmdW5jKHZvaWQgKnhzYywgaW50IHBlbmRpbmcpOwogc3RhdGlj IHZvaWQgaG5fdHhlb2ZfdGFza2Z1bmModm9pZCAqeHNjLCBpbnQgcGVuZGluZyk7CiBzdGF0aWMg aW50IGhuX2VuY2FwKHN0cnVjdCBobl9zb2Z0YyAqLCBzdHJ1Y3QgaG5fdHhkZXNjICosIHN0cnVj dCBtYnVmICoqKTsKK3N0YXRpYyB2b2lkIGhuX2NyZWF0ZV9yeF9kYXRhKHN0cnVjdCBobl9zb2Z0 YyAqc2MpOworc3RhdGljIHZvaWQgaG5fZGVzdHJveV9yeF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAq c2MpOwogCiBzdGF0aWMgaW50CiBobl9pZm1lZGlhX3VwZChzdHJ1Y3QgaWZuZXQgKmlmcCBfX3Vu dXNlZCkKQEAgLTM1MiwxMSArMzU2LDYgQEAKICNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAw MDQ1CiAJaW50IHRzb19tYXhsZW47CiAjZW5kaWYKLSNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmlu ZWQoSU5FVDYpCi0jaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQotCWludCBscm9lbnRf Y250OwotI2VuZGlmCi0jZW5kaWYKIAogCXNjID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOwogCWlm IChzYyA9PSBOVUxMKSB7CkBAIC0zNjcsMTIgKzM2Niw2IEBACiAJc2MtPmhuX3VuaXQgPSB1bml0 OwogCXNjLT5obl9kZXYgPSBkZXY7CiAJc2MtPmhuX2RpcmVjdF90eF9zaXplID0gaG5fZGlyZWN0 X3R4X3NpemU7Ci0JaWYgKGhuX3RydXN0X2hvc3R0Y3ApCi0JCXNjLT5obl90cnVzdF9oY3N1bSB8 PSBITl9UUlVTVF9IQ1NVTV9UQ1A7Ci0JaWYgKGhuX3RydXN0X2hvc3R1ZHApCi0JCXNjLT5obl90 cnVzdF9oY3N1bSB8PSBITl9UUlVTVF9IQ1NVTV9VRFA7Ci0JaWYgKGhuX3RydXN0X2hvc3RpcCkK LQkJc2MtPmhuX3RydXN0X2hjc3VtIHw9IEhOX1RSVVNUX0hDU1VNX0lQOwogCiAJaWYgKGhuX3R4 X3Rhc2txID09IE5VTEwpIHsKIAkJc2MtPmhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZV9m YXN0KCJobl90eCIsIE1fV0FJVE9LLApAQCAtMzk2LDYgKzM4OSw4IEBACiAJaWZwID0gc2MtPmhu X2lmcCA9IGlmX2FsbG9jKElGVF9FVEhFUik7CiAJaWZwLT5pZl9zb2Z0YyA9IHNjOwogCisJaG5f Y3JlYXRlX3J4X2RhdGEoc2MpOworCiAJaWZfaW5pdG5hbWUoaWZwLCBkZXZpY2VfZ2V0X25hbWUo ZGV2KSwgZGV2aWNlX2dldF91bml0KGRldikpOwogCWlmcC0+aWZfZHVuaXQgPSB1bml0OwogCWlm cC0+aWZfZG5hbWUgPSBORVRWU0NfREVWTkFNRTsKQEAgLTQ0MSwyMiArNDM2LDYgQEAKIAkJc2Mt PmhuX2NhcnJpZXIgPSAxOwogCX0KIAotI2lmIGRlZmluZWQoSU5FVCkgfHwgZGVmaW5lZChJTkVU NikKLSNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDk1Ci0JbHJvZW50X2NudCA9IGhuX2xy b19lbnRyeV9jb3VudDsKLQlpZiAobHJvZW50X2NudCA8IFRDUF9MUk9fRU5UUklFUykKLQkJbHJv ZW50X2NudCA9IFRDUF9MUk9fRU5UUklFUzsKLQl0Y3BfbHJvX2luaXRfYXJncygmc2MtPmhuX2xy bywgaWZwLCBscm9lbnRfY250LCAwKTsKLQlkZXZpY2VfcHJpbnRmKGRldiwgIkxSTzogZW50cnkg Y291bnQgJWRcbiIsIGxyb2VudF9jbnQpOwotI2Vsc2UKLQl0Y3BfbHJvX2luaXQoJnNjLT5obl9s cm8pOwotCS8qIERyaXZlciBwcml2YXRlIExSTyBzZXR0aW5ncyAqLwotCXNjLT5obl9scm8uaWZw ID0gaWZwOwotI2VuZGlmCi0Jc2MtPmhuX2xyby5scm9fbGVuZ3RoX2xpbSA9IEhOX0xST19MRU5M SU1fREVGOwotCXNjLT5obl9scm8ubHJvX2Fja2NudF9saW0gPSBITl9MUk9fQUNLQ05UX0RFRjsK LSNlbmRpZgkvKiBJTkVUIHx8IElORVQ2ICovCi0KICNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAx MTAwMDQ1CiAJdHNvX21heGxlbiA9IGhuX3Rzb19tYXhsZW47CiAJaWYgKHRzb19tYXhsZW4gPD0g MCB8fCB0c29fbWF4bGVuID4gSVBfTUFYUEFDS0VUKQpAQCAtNDkxLDQ0ICs0NzAsNiBAQAogCWN0 eCA9IGRldmljZV9nZXRfc3lzY3RsX2N0eChkZXYpOwogCWNoaWxkID0gU1lTQ1RMX0NISUxEUkVO KGRldmljZV9nZXRfc3lzY3RsX3RyZWUoZGV2KSk7CiAKLQlTWVNDVExfQUREX1U2NChjdHgsIGNo aWxkLCBPSURfQVVUTywgImxyb19xdWV1ZWQiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX2xy by5scm9fcXVldWVkLCAwLCAiTFJPIHF1ZXVlZCIpOwotCVNZU0NUTF9BRERfVTY0KGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX2ZsdXNoZWQiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX2xy by5scm9fZmx1c2hlZCwgMCwgIkxSTyBmbHVzaGVkIik7Ci0JU1lTQ1RMX0FERF9VTE9ORyhjdHgs IGNoaWxkLCBPSURfQVVUTywgImxyb190cmllZCIsCi0JICAgIENUTEZMQUdfUlcsICZzYy0+aG5f bHJvX3RyaWVkLCAiIyBvZiBMUk8gdHJpZXMiKTsKLQlTWVNDVExfQUREX1BST0MoY3R4LCBjaGls ZCwgT0lEX0FVVE8sICJscm9fbGVuZ3RoX2xpbSIsCi0JICAgIENUTFRZUEVfVUlOVCB8IENUTEZM QUdfUlcsIHNjLCAwLCBobl9scm9fbGVubGltX3N5c2N0bCwgIklVIiwKLQkgICAgIk1heCAjIG9m IGRhdGEgYnl0ZXMgdG8gYmUgYWdncmVnYXRlZCBieSBMUk8iKTsKLQlTWVNDVExfQUREX1BST0Mo Y3R4LCBjaGlsZCwgT0lEX0FVVE8sICJscm9fYWNrY250X2xpbSIsCi0JICAgIENUTFRZUEVfSU5U IHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX2xyb19hY2tjbnRfc3lzY3RsLCAiSSIsCi0JICAgICJN YXggIyBvZiBBQ0tzIHRvIGJlIGFnZ3JlZ2F0ZWQgYnkgTFJPIik7Ci0JU1lTQ1RMX0FERF9QUk9D KGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHJ1c3RfaG9zdHRjcCIsCi0JICAgIENUTFRZUEVfSU5U IHwgQ1RMRkxBR19SVywgc2MsIEhOX1RSVVNUX0hDU1VNX1RDUCwKLQkgICAgaG5fdHJ1c3RfaGNz dW1fc3lzY3RsLCAiSSIsCi0JICAgICJUcnVzdCB0Y3Agc2VnZW1lbnQgdmVyaWZpY2F0aW9uIG9u IGhvc3Qgc2lkZSwgIgotCSAgICAid2hlbiBjc3VtIGluZm8gaXMgbWlzc2luZyIpOwotCVNZU0NU TF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInRydXN0X2hvc3R1ZHAiLAotCSAgICBD VExUWVBFX0lOVCB8IENUTEZMQUdfUlcsIHNjLCBITl9UUlVTVF9IQ1NVTV9VRFAsCi0JICAgIGhu X3RydXN0X2hjc3VtX3N5c2N0bCwgIkkiLAotCSAgICAiVHJ1c3QgdWRwIGRhdGFncmFtIHZlcmlm aWNhdGlvbiBvbiBob3N0IHNpZGUsICIKLQkgICAgIndoZW4gY3N1bSBpbmZvIGlzIG1pc3Npbmci KTsKLQlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0cnVzdF9ob3N0aXAi LAotCSAgICBDVExUWVBFX0lOVCB8IENUTEZMQUdfUlcsIHNjLCBITl9UUlVTVF9IQ1NVTV9JUCwK LQkgICAgaG5fdHJ1c3RfaGNzdW1fc3lzY3RsLCAiSSIsCi0JICAgICJUcnVzdCBpcCBwYWNrZXQg dmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSwgIgotCSAgICAid2hlbiBjc3VtIGluZm8gaXMgbWlz c2luZyIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJjc3VtX2lw IiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9jc3VtX2lwLCAiUlhDU1VNIElQIik7Ci0JU1lT Q1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImNzdW1fdGNwIiwKLQkgICAgQ1RM RkxBR19SVywgJnNjLT5obl9jc3VtX3RjcCwgIlJYQ1NVTSBUQ1AiKTsKLQlTWVNDVExfQUREX1VM T05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAiY3N1bV91ZHAiLAotCSAgICBDVExGTEFHX1JXLCAm c2MtPmhuX2NzdW1fdWRwLCAiUlhDU1VNIFVEUCIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBj aGlsZCwgT0lEX0FVVE8sICJjc3VtX3RydXN0ZWQiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhu X2NzdW1fdHJ1c3RlZCwKLQkgICAgIiMgb2YgcGFja2V0cyB0aGF0IHdlIHRydXN0IGhvc3QncyBj c3VtIHZlcmlmaWNhdGlvbiIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FV VE8sICJzbWFsbF9wa3RzIiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9zbWFsbF9wa3RzLCAi IyBvZiBzbWFsbCBwYWNrZXRzIHJlY2VpdmVkIik7CiAJU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNo aWxkLCBPSURfQVVUTywgIm5vX3R4ZGVzY3MiLAogCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX25v X3R4ZGVzY3MsICIjIG9mIHRpbWVzIHNob3J0IG9mIFRYIGRlc2NzIik7CiAJU1lTQ1RMX0FERF9V TE9ORyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInNlbmRfZmFpbGVkIiwKQEAgLTU5Niw5ICs1Mzcs NyBAQAogCQl0YXNrcXVldWVfZnJlZShzYy0+aG5fdHhfdGFza3EpOwogCiAJaWZtZWRpYV9yZW1v dmVhbGwoJnNjLT5obl9tZWRpYSk7Ci0jaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2 KQotCXRjcF9scm9fZnJlZSgmc2MtPmhuX2xybyk7Ci0jZW5kaWYKKwlobl9kZXN0cm95X3J4X2Rh dGEoc2MpOwogCWhuX2Rlc3Ryb3lfdHhfcmluZyhzYyk7CiAKIAlyZXR1cm4gKDApOwpAQCAtNzQ2 LDcgKzY4NSw4IEBACiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9IGRldmljZV9nZXRfc29mdGMo ZGV2aWNlX2N0eC0+ZGV2aWNlKTsKICNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYp Ci0Jc3RydWN0IGxyb19jdHJsICpscm8gPSAmc2MtPmhuX2xybzsKKwlzdHJ1Y3QgaG5fcnhfcmlu ZyAqcnhyID0gJnNjLT5obl9yeF9yaW5nWzBdOyAvKiBUT0RPOiB2UlNTICovCisJc3RydWN0IGxy b19jdHJsICpscm8gPSAmcnhyLT5obl9scm87CiAJc3RydWN0IGxyb19lbnRyeSAqcXVldWVkOwog CiAJd2hpbGUgKChxdWV1ZWQgPSBTTElTVF9GSVJTVCgmbHJvLT5scm9fYWN0aXZlKSkgIT0gTlVM TCkgewpAQCAtMTE2MiwxMCArMTEwMiwxMCBAQAogbmV0dnNjX3JlY3Yoc3RydWN0IGh2X2Rldmlj ZSAqZGV2aWNlX2N0eCwgbmV0dnNjX3BhY2tldCAqcGFja2V0LAogICAgIHJuZGlzX3RjcF9pcF9j c3VtX2luZm8gKmNzdW1faW5mbykKIHsKLQlobl9zb2Z0Y190ICpzYyA9IChobl9zb2Z0Y190ICop ZGV2aWNlX2dldF9zb2Z0YyhkZXZpY2VfY3R4LT5kZXZpY2UpOworCXN0cnVjdCBobl9zb2Z0YyAq c2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldmljZV9jdHgtPmRldmljZSk7CisJc3RydWN0IGhuX3J4 X3JpbmcgKnJ4ciA9ICZzYy0+aG5fcnhfcmluZ1swXTsgLyogVE9ETzogdlJTUyAqLwogCXN0cnVj dCBtYnVmICptX25ldzsKIAlzdHJ1Y3QgaWZuZXQgKmlmcDsKLQlkZXZpY2VfdCBkZXYgPSBkZXZp Y2VfY3R4LT5kZXZpY2U7CiAJaW50IHNpemUsIGRvX2xybyA9IDAsIGRvX2NzdW0gPSAxOwogCiAJ aWYgKHNjID09IE5VTEwpIHsKQEAgLTExOTAsNyArMTEzMCw3IEBACiAJCW1lbWNweShtdG9kKG1f bmV3LCB2b2lkICopLCBwYWNrZXQtPmRhdGEsCiAJCSAgICBwYWNrZXQtPnRvdF9kYXRhX2J1Zl9s ZW4pOwogCQltX25ldy0+bV9wa3RoZHIubGVuID0gbV9uZXctPm1fbGVuID0gcGFja2V0LT50b3Rf ZGF0YV9idWZfbGVuOwotCQlzYy0+aG5fc21hbGxfcGt0cysrOworCQlyeHItPmhuX3NtYWxsX3Br dHMrKzsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBHZXQgYW4gbWJ1ZiB3aXRoIGEgY2x1c3Rlci4g IEZvciBwYWNrZXRzIDJLIG9yIGxlc3MsCkBAIC0xMjA2LDcgKzExNDYsNyBAQAogCiAJCW1fbmV3 ID0gbV9nZXRqY2woTV9OT1dBSVQsIE1UX0RBVEEsIE1fUEtUSERSLCBzaXplKTsKIAkJaWYgKG1f bmV3ID09IE5VTEwpIHsKLQkJCWRldmljZV9wcmludGYoZGV2LCAiYWxsb2MgbWJ1ZiBmYWlsZWQu XG4iKTsKKwkJCWlmX3ByaW50ZihpZnAsICJhbGxvYyBtYnVmIGZhaWxlZC5cbiIpOwogCQkJcmV0 dXJuICgwKTsKIAkJfQogCkBAIC0xMjIzLDcgKzExNjMsNyBAQAogCQlpZiAoY3N1bV9pbmZvLT5y ZWNlaXZlLmlwX2NzdW1fc3VjY2VlZGVkICYmIGRvX2NzdW0pIHsKIAkJCW1fbmV3LT5tX3BrdGhk ci5jc3VtX2ZsYWdzIHw9CiAJCQkgICAgKENTVU1fSVBfQ0hFQ0tFRCB8IENTVU1fSVBfVkFMSUQp OwotCQkJc2MtPmhuX2NzdW1faXArKzsKKwkJCXJ4ci0+aG5fY3N1bV9pcCsrOwogCQl9CiAKIAkJ LyogVENQL1VEUCBjc3VtIG9mZmxvYWQgKi8KQEAgLTEyMzMsOSArMTE3Myw5IEBACiAJCQkgICAg KENTVU1fREFUQV9WQUxJRCB8IENTVU1fUFNFVURPX0hEUik7CiAJCQltX25ldy0+bV9wa3RoZHIu Y3N1bV9kYXRhID0gMHhmZmZmOwogCQkJaWYgKGNzdW1faW5mby0+cmVjZWl2ZS50Y3BfY3N1bV9z dWNjZWVkZWQpCi0JCQkJc2MtPmhuX2NzdW1fdGNwKys7CisJCQkJcnhyLT5obl9jc3VtX3RjcCsr OwogCQkJZWxzZQotCQkJCXNjLT5obl9jc3VtX3VkcCsrOworCQkJCXJ4ci0+aG5fY3N1bV91ZHAr KzsKIAkJfQogCiAJCWlmIChjc3VtX2luZm8tPnJlY2VpdmUuaXBfY3N1bV9zdWNjZWVkZWQgJiYK QEAgLTEyNjcsOCArMTIwNyw5IEBACiAJCQlwciA9IGhuX2NoZWNrX2lwbGVuKG1fbmV3LCBob2Zm KTsKIAkJCWlmIChwciA9PSBJUFBST1RPX1RDUCkgewogCQkJCWlmIChkb19jc3VtICYmCi0JCQkJ ICAgIChzYy0+aG5fdHJ1c3RfaGNzdW0gJiBITl9UUlVTVF9IQ1NVTV9UQ1ApKSB7Ci0JCQkJCXNj LT5obl9jc3VtX3RydXN0ZWQrKzsKKwkJCQkgICAgKHJ4ci0+aG5fdHJ1c3RfaGNzdW0gJgorCQkJ CSAgICAgSE5fVFJVU1RfSENTVU1fVENQKSkgeworCQkJCQlyeHItPmhuX2NzdW1fdHJ1c3RlZCsr OwogCQkJCQltX25ldy0+bV9wa3RoZHIuY3N1bV9mbGFncyB8PQogCQkJCQkgICAoQ1NVTV9JUF9D SEVDS0VEIHwgQ1NVTV9JUF9WQUxJRCB8CiAJCQkJCSAgICBDU1VNX0RBVEFfVkFMSUQgfCBDU1VN X1BTRVVET19IRFIpOwpAQCAtMTI3OCwxNiArMTIxOSwxNyBAQAogCQkJCWRvX2xybyA9IDE7CiAJ CQl9IGVsc2UgaWYgKHByID09IElQUFJPVE9fVURQKSB7CiAJCQkJaWYgKGRvX2NzdW0gJiYKLQkJ CQkgICAgKHNjLT5obl90cnVzdF9oY3N1bSAmIEhOX1RSVVNUX0hDU1VNX1VEUCkpIHsKLQkJCQkJ c2MtPmhuX2NzdW1fdHJ1c3RlZCsrOworCQkJCSAgICAocnhyLT5obl90cnVzdF9oY3N1bSAmCisJ CQkJICAgICBITl9UUlVTVF9IQ1NVTV9VRFApKSB7CisJCQkJCXJ4ci0+aG5fY3N1bV90cnVzdGVk Kys7CiAJCQkJCW1fbmV3LT5tX3BrdGhkci5jc3VtX2ZsYWdzIHw9CiAJCQkJCSAgIChDU1VNX0lQ X0NIRUNLRUQgfCBDU1VNX0lQX1ZBTElEIHwKIAkJCQkJICAgIENTVU1fREFUQV9WQUxJRCB8IENT VU1fUFNFVURPX0hEUik7CiAJCQkJCW1fbmV3LT5tX3BrdGhkci5jc3VtX2RhdGEgPSAweGZmZmY7 CiAJCQkJfQogCQkJfSBlbHNlIGlmIChwciAhPSBJUFBST1RPX0RPTkUgJiYgZG9fY3N1bSAmJgot CQkJICAgIChzYy0+aG5fdHJ1c3RfaGNzdW0gJiBITl9UUlVTVF9IQ1NVTV9JUCkpIHsKLQkJCQlz Yy0+aG5fY3N1bV90cnVzdGVkKys7CisJCQkgICAgKHJ4ci0+aG5fdHJ1c3RfaGNzdW0gJiBITl9U UlVTVF9IQ1NVTV9JUCkpIHsKKwkJCQlyeHItPmhuX2NzdW1fdHJ1c3RlZCsrOwogCQkJCW1fbmV3 LT5tX3BrdGhkci5jc3VtX2ZsYWdzIHw9CiAJCQkJICAgIChDU1VNX0lQX0NIRUNLRUQgfCBDU1VN X0lQX1ZBTElEKTsKIAkJCX0KQEAgLTEzMDksMTAgKzEyNTEsMTAgQEAKIAogCWlmICgoaWZwLT5p Zl9jYXBlbmFibGUgJiBJRkNBUF9MUk8pICYmIGRvX2xybykgewogI2lmIGRlZmluZWQoSU5FVCkg fHwgZGVmaW5lZChJTkVUNikKLQkJc3RydWN0IGxyb19jdHJsICpscm8gPSAmc2MtPmhuX2xybzsK KwkJc3RydWN0IGxyb19jdHJsICpscm8gPSAmcnhyLT5obl9scm87CiAKIAkJaWYgKGxyby0+bHJv X2NudCkgewotCQkJc2MtPmhuX2xyb190cmllZCsrOworCQkJcnhyLT5obl9scm9fdHJpZWQrKzsK IAkJCWlmICh0Y3BfbHJvX3J4KGxybywgbV9uZXcsIDApID09IDApIHsKIAkJCQkvKiBET05FISAq LwogCQkJCXJldHVybiAwOwpAQCAtMTM5Miw4ICsxMzM0LDE3IEBACiAJCSAqIE1ha2Ugc3VyZSB0 aGF0IExSTyBhZ2dyZWdhdGlvbiBsZW5ndGggbGltaXQgaXMgc3RpbGwKIAkJICogdmFsaWQsIGFm dGVyIHRoZSBNVFUgY2hhbmdlLgogCQkgKi8KLQkJaWYgKHNjLT5obl9scm8ubHJvX2xlbmd0aF9s aW0gPCBITl9MUk9fTEVOTElNX01JTihpZnApKQotCQkJc2MtPmhuX2xyby5scm9fbGVuZ3RoX2xp bSA9IEhOX0xST19MRU5MSU1fTUlOKGlmcCk7CisJCU5WX0xPQ0soc2MpOworCQlpZiAoc2MtPmhu X3J4X3JpbmdbMF0uaG5fbHJvLmxyb19sZW5ndGhfbGltIDwKKwkJICAgIEhOX0xST19MRU5MSU1f TUlOKGlmcCkpIHsKKwkJCWludCBpOworCisJCQlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4X3Jp bmdfY250OyArK2kpIHsKKwkJCQlzYy0+aG5fcnhfcmluZ1tpXS5obl9scm8ubHJvX2xlbmd0aF9s aW0gPQorCQkJCSAgICBITl9MUk9fTEVOTElNX01JTihpZnApOworCQkJfQorCQl9CisJCU5WX1VO TE9DSyhzYyk7CiAKIAkJZG8gewogCQkJTlZfTE9DSyhzYyk7CkBAIC0xNzA1LDMyICsxNjU2LDM1 IEBACiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9IGFyZzE7CiAJdW5zaWduZWQgaW50IGxlbmxp bTsKLQlpbnQgZXJyb3I7CisJaW50IGVycm9yLCBpOwogCi0JbGVubGltID0gc2MtPmhuX2xyby5s cm9fbGVuZ3RoX2xpbTsKKwlsZW5saW0gPSBzYy0+aG5fcnhfcmluZ1swXS5obl9scm8ubHJvX2xl bmd0aF9saW07CiAJZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAmbGVubGltLCAwLCBy ZXEpOwogCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9PSBOVUxMKQogCQlyZXR1cm4gZXJyb3I7 CiAKIAlpZiAobGVubGltIDwgSE5fTFJPX0xFTkxJTV9NSU4oc2MtPmhuX2lmcCkgfHwKIAkgICAg bGVubGltID4gVENQX0xST19MRU5HVEhfTUFYKQogCQlyZXR1cm4gRUlOVkFMOwogCi0Jc2MtPmhu X2xyby5scm9fbGVuZ3RoX2xpbSA9IGxlbmxpbTsKKwlOVl9MT0NLKHNjKTsKKwlmb3IgKGkgPSAw OyBpIDwgc2MtPmhuX3J4X3JpbmdfY250OyArK2kpCisJCXNjLT5obl9yeF9yaW5nW2ldLmhuX2xy by5scm9fbGVuZ3RoX2xpbSA9IGxlbmxpbTsKKwlOVl9VTkxPQ0soc2MpOwogCXJldHVybiAwOwog fQogCiBzdGF0aWMgaW50CiBobl9scm9fYWNrY250X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdT KQogewogCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBhcmcxOwotCWludCBhY2tjbnQsIGVycm9yOwor CWludCBhY2tjbnQsIGVycm9yLCBpOwogCiAJLyoKIAkgKiBscm9fYWNrY250X2xpbSBpcyBhcHBl bmQgY291bnQgbGltaXQsCiAJICogKzEgdG8gdHVybiBpdCBpbnRvIGFnZ3JlZ2F0aW9uIGxpbWl0 LgogCSAqLwotCWFja2NudCA9IHNjLT5obl9scm8ubHJvX2Fja2NudF9saW0gKyAxOworCWFja2Nu dCA9IHNjLT5obl9yeF9yaW5nWzBdLmhuX2xyby5scm9fYWNrY250X2xpbSArIDE7CiAJZXJyb3Ig PSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAmYWNrY250LCAwLCByZXEpOwogCWlmIChlcnJvciB8 fCByZXEtPm5ld3B0ciA9PSBOVUxMKQogCQlyZXR1cm4gZXJyb3I7CkBAIC0xNzQyLDMwICsxNjk2 LDM4IEBACiAJICogQ29udmVydCBhZ2dyZWdhdGlvbiBsaW1pdCBiYWNrIHRvIGFwcGVuZAogCSAq IGNvdW50IGxpbWl0LgogCSAqLwotCXNjLT5obl9scm8ubHJvX2Fja2NudF9saW0gPSBhY2tjbnQg LSAxOworCS0tYWNrY250OworCU5WX0xPQ0soc2MpOworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5f cnhfcmluZ19jbnQ7ICsraSkKKwkJc2MtPmhuX3J4X3JpbmdbaV0uaG5fbHJvLmxyb19hY2tjbnRf bGltID0gYWNrY250OworCU5WX1VOTE9DSyhzYyk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp bnQKIGhuX3RydXN0X2hjc3VtX3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKQogewogCXN0cnVj dCBobl9zb2Z0YyAqc2MgPSBhcmcxOwogCWludCBoY3N1bSA9IGFyZzI7Ci0JaW50IG9uLCBlcnJv cjsKKwlpbnQgb24sIGVycm9yLCBpOwogCiAJb24gPSAwOwotCWlmIChzYy0+aG5fdHJ1c3RfaGNz dW0gJiBoY3N1bSkKKwlpZiAoc2MtPmhuX3J4X3JpbmdbMF0uaG5fdHJ1c3RfaGNzdW0gJiBoY3N1 bSkKIAkJb24gPSAxOwogCiAJZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAmb24sIDAs IHJlcSk7CiAJaWYgKGVycm9yIHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCiAJCXJldHVybiBlcnJv cjsKIAogCU5WX0xPQ0soc2MpOwotCWlmIChvbikKLQkJc2MtPmhuX3RydXN0X2hjc3VtIHw9IGhj c3VtOwotCWVsc2UKLQkJc2MtPmhuX3RydXN0X2hjc3VtICY9IH5oY3N1bTsKKwlmb3IgKGkgPSAw OyBpIDwgc2MtPmhuX3J4X3JpbmdfY250OyArK2kpIHsKKwkJc3RydWN0IGhuX3J4X3JpbmcgKnJ4 ciA9ICZzYy0+aG5fcnhfcmluZ1tpXTsKKworCQlpZiAob24pCisJCQlyeHItPmhuX3RydXN0X2hj c3VtIHw9IGhjc3VtOworCQllbHNlCisJCQlyeHItPmhuX3RydXN0X2hjc3VtICY9IH5oY3N1bTsK Kwl9CiAJTlZfVU5MT0NLKHNjKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTE3OTAsNiArMTc1Miw1OCBA QAogfQogCiBzdGF0aWMgaW50Citobl9yeF9zdGF0X3Vsb25nX3N5c2N0bChTWVNDVExfSEFORExF Ul9BUkdTKQoreworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBhcmcxOworCWludCBvZnMgPSBhcmcy LCBpLCBlcnJvcjsKKwlzdHJ1Y3QgaG5fcnhfcmluZyAqcnhyOworCXVfbG9uZyBzdGF0OworCisJ c3RhdCA9IDA7CisJZm9yIChpID0gMDsgaSA8IHNjLT5obl9yeF9yaW5nX2NudDsgKytpKSB7CisJ CXJ4ciA9ICZzYy0+aG5fcnhfcmluZ1tpXTsKKwkJc3RhdCArPSAqKCh1X2xvbmcgKikoKHVpbnQ4 X3QgKilyeHIgKyBvZnMpKTsKKwl9CisKKwllcnJvciA9IHN5c2N0bF9oYW5kbGVfbG9uZyhvaWRw LCAmc3RhdCwgMCwgcmVxKTsKKwlpZiAoZXJyb3IgfHwgcmVxLT5uZXdwdHIgPT0gTlVMTCkKKwkJ cmV0dXJuIGVycm9yOworCisJLyogWmVybyBvdXQgdGhpcyBzdGF0LiAqLworCWZvciAoaSA9IDA7 IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsraSkgeworCQlyeHIgPSAmc2MtPmhuX3J4X3Jpbmdb aV07CisJCSooKHVfbG9uZyAqKSgodWludDhfdCAqKXJ4ciArIG9mcykpID0gMDsKKwl9CisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2huX3J4X3N0YXRfdTY0X3N5c2N0bChTWVNDVExfSEFO RExFUl9BUkdTKQoreworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBhcmcxOworCWludCBvZnMgPSBh cmcyLCBpLCBlcnJvcjsKKwlzdHJ1Y3QgaG5fcnhfcmluZyAqcnhyOworCXVpbnQ2NF90IHN0YXQ7 CisKKwlzdGF0ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4X3JpbmdfY250OyArK2kp IHsKKwkJcnhyID0gJnNjLT5obl9yeF9yaW5nW2ldOworCQlzdGF0ICs9ICooKHVpbnQ2NF90ICop KCh1aW50OF90ICopcnhyICsgb2ZzKSk7CisJfQorCisJZXJyb3IgPSBzeXNjdGxfaGFuZGxlXzY0 KG9pZHAsICZzdGF0LCAwLCByZXEpOworCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9PSBOVUxM KQorCQlyZXR1cm4gZXJyb3I7CisKKwkvKiBaZXJvIG91dCB0aGlzIHN0YXQuICovCisJZm9yIChp ID0gMDsgaSA8IHNjLT5obl9yeF9yaW5nX2NudDsgKytpKSB7CisJCXJ4ciA9ICZzYy0+aG5fcnhf cmluZ1tpXTsKKwkJKigodWludDY0X3QgKikoKHVpbnQ4X3QgKilyeHIgKyBvZnMpKSA9IDA7CisJ fQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CiBobl9jaGVja19pcGxlbihjb25zdCBzdHJ1 Y3QgbWJ1ZiAqbSwgaW50IGhvZmYpCiB7CiAJY29uc3Qgc3RydWN0IGlwICppcDsKQEAgLTE4NzYs NiArMTg5MCwxMzYgQEAKIAkqcGFkZHIgPSBzZWdzLT5kc19hZGRyOwogfQogCitzdGF0aWMgdm9p ZAoraG5fY3JlYXRlX3J4X2RhdGEoc3RydWN0IGhuX3NvZnRjICpzYykKK3sKKwlzdHJ1Y3Qgc3lz Y3RsX29pZF9saXN0ICpjaGlsZDsKKwlzdHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpjdHg7CisJZGV2 aWNlX3QgZGV2ID0gc2MtPmhuX2RldjsKKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5F VDYpCisjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQorCWludCBscm9lbnRfY250Owor I2VuZGlmCisJaW50IGk7CisjZW5kaWYKKworCXNjLT5obl9yeF9yaW5nX2NudCA9IDE7IC8qIFRP RE86IHZSU1MgKi8KKwlzYy0+aG5fcnhfcmluZyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGhuX3J4 X3JpbmcpICogc2MtPmhuX3J4X3JpbmdfY250LAorCSAgICBNX05FVFZTQywgTV9XQUlUT0sgfCBN X1pFUk8pOworCisjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQorI2lmIF9fRnJl ZUJTRF92ZXJzaW9uID49IDExMDAwOTUKKwlscm9lbnRfY250ID0gaG5fbHJvX2VudHJ5X2NvdW50 OworCWlmIChscm9lbnRfY250IDwgVENQX0xST19FTlRSSUVTKQorCQlscm9lbnRfY250ID0gVENQ X0xST19FTlRSSUVTOworCWRldmljZV9wcmludGYoZGV2LCAiTFJPOiBlbnRyeSBjb3VudCAlZFxu IiwgbHJvZW50X2NudCk7CisjZW5kaWYKKyNlbmRpZgkvKiBJTkVUIHx8IElORVQ2ICovCisKKwlm b3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4X3JpbmdfY250OyArK2kpIHsKKwkJc3RydWN0IGhuX3J4 X3JpbmcgKnJ4ciA9ICZzYy0+aG5fcnhfcmluZ1tpXTsKKworCQlpZiAoaG5fdHJ1c3RfaG9zdHRj cCkKKwkJCXJ4ci0+aG5fdHJ1c3RfaGNzdW0gfD0gSE5fVFJVU1RfSENTVU1fVENQOworCQlpZiAo aG5fdHJ1c3RfaG9zdHVkcCkKKwkJCXJ4ci0+aG5fdHJ1c3RfaGNzdW0gfD0gSE5fVFJVU1RfSENT VU1fVURQOworCQlpZiAoaG5fdHJ1c3RfaG9zdGlwKQorCQkJcnhyLT5obl90cnVzdF9oY3N1bSB8 PSBITl9UUlVTVF9IQ1NVTV9JUDsKKworCQkvKgorCQkgKiBJbml0aWFsaXplIExSTy4KKwkJICov CisjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQorI2lmIF9fRnJlZUJTRF92ZXJz aW9uID49IDExMDAwOTUKKwkJdGNwX2xyb19pbml0X2FyZ3MoJnJ4ci0+aG5fbHJvLCBzYy0+aG5f aWZwLCBscm9lbnRfY250LCAwKTsKKyNlbHNlCisJCXRjcF9scm9faW5pdCgmcnhyLT5obl9scm8p OworCQlyeHItPmhuX2xyby5pZnAgPSBzYy0+aG5faWZwOworI2VuZGlmCisJCXJ4ci0+aG5fbHJv Lmxyb19sZW5ndGhfbGltID0gSE5fTFJPX0xFTkxJTV9ERUY7CisJCXJ4ci0+aG5fbHJvLmxyb19h Y2tjbnRfbGltID0gSE5fTFJPX0FDS0NOVF9ERUY7CisjZW5kaWYJLyogSU5FVCB8fCBJTkVUNiAq LworCX0KKworCWN0eCA9IGRldmljZV9nZXRfc3lzY3RsX2N0eChkZXYpOworCWNoaWxkID0gU1lT Q1RMX0NISUxEUkVOKGRldmljZV9nZXRfc3lzY3RsX3RyZWUoZGV2KSk7CisKKwlTWVNDVExfQURE X1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJscm9fcXVldWVkIiwKKwkgICAgQ1RMVFlQRV9V NjQgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmluZywg aG5fbHJvLmxyb19xdWV1ZWQpLAorCSAgICBobl9yeF9zdGF0X3U2NF9zeXNjdGwsICJMVSIsICJM Uk8gcXVldWVkIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJv X2ZsdXNoZWQiLAorCSAgICBDVExUWVBFX1U2NCB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29m ZnNldG9mKHN0cnVjdCBobl9yeF9yaW5nLCBobl9scm8ubHJvX2ZsdXNoZWQpLAorCSAgICBobl9y eF9zdGF0X3U2NF9zeXNjdGwsICJMVSIsICJMUk8gZmx1c2hlZCIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb190cmllZCIsCisJICAgIENUTFRZUEVfVUxPTkcg fCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmluZywgaG5f bHJvX3RyaWVkKSwKKwkgICAgaG5fcnhfc3RhdF91bG9uZ19zeXNjdGwsICJMVSIsICIjIG9mIExS TyB0cmllcyIpOworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19s ZW5ndGhfbGltIiwKKwkgICAgQ1RMVFlQRV9VSU5UIHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX2xy b19sZW5saW1fc3lzY3RsLCAiSVUiLAorCSAgICAiTWF4ICMgb2YgZGF0YSBieXRlcyB0byBiZSBh Z2dyZWdhdGVkIGJ5IExSTyIpOworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVU TywgImxyb19hY2tjbnRfbGltIiwKKwkgICAgQ1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywg MCwgaG5fbHJvX2Fja2NudF9zeXNjdGwsICJJIiwKKwkgICAgIk1heCAjIG9mIEFDS3MgdG8gYmUg YWdncmVnYXRlZCBieSBMUk8iKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FV VE8sICJ0cnVzdF9ob3N0dGNwIiwKKwkgICAgQ1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywg SE5fVFJVU1RfSENTVU1fVENQLAorCSAgICBobl90cnVzdF9oY3N1bV9zeXNjdGwsICJJIiwKKwkg ICAgIlRydXN0IHRjcCBzZWdlbWVudCB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCisJICAg ICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAidHJ1c3RfaG9zdHVkcCIsCisJICAgIENUTFRZUEVfSU5UIHwgQ1RMRkxB R19SVywgc2MsIEhOX1RSVVNUX0hDU1VNX1VEUCwKKwkgICAgaG5fdHJ1c3RfaGNzdW1fc3lzY3Rs LCAiSSIsCisJICAgICJUcnVzdCB1ZHAgZGF0YWdyYW0gdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lk ZSwgIgorCSAgICAid2hlbiBjc3VtIGluZm8gaXMgbWlzc2luZyIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInRydXN0X2hvc3RpcCIsCisJICAgIENUTFRZUEVfSU5U IHwgQ1RMRkxBR19SVywgc2MsIEhOX1RSVVNUX0hDU1VNX0lQLAorCSAgICBobl90cnVzdF9oY3N1 bV9zeXNjdGwsICJJIiwKKwkgICAgIlRydXN0IGlwIHBhY2tldCB2ZXJpZmljYXRpb24gb24gaG9z dCBzaWRlLCAiCisJICAgICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIik7CisJU1lTQ1RMX0FE RF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAiY3N1bV9pcCIsCisJICAgIENUTFRZUEVfVUxP TkcgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmluZywg aG5fY3N1bV9pcCksCisJICAgIGhuX3J4X3N0YXRfdWxvbmdfc3lzY3RsLCAiTFUiLCAiUlhDU1VN IElQIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAiY3N1bV90Y3Ai LAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yo c3RydWN0IGhuX3J4X3JpbmcsIGhuX2NzdW1fdGNwKSwKKwkgICAgaG5fcnhfc3RhdF91bG9uZ19z eXNjdGwsICJMVSIsICJSWENTVU0gVENQIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQs IE9JRF9BVVRPLCAiY3N1bV91ZHAiLAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywg c2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3J4X3JpbmcsIGhuX2NzdW1fdWRwKSwKKwkg ICAgaG5fcnhfc3RhdF91bG9uZ19zeXNjdGwsICJMVSIsICJSWENTVU0gVURQIik7CisJU1lTQ1RM X0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAiY3N1bV90cnVzdGVkIiwKKwkgICAgQ1RM VFlQRV9VTE9ORyB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29mZnNldG9mKHN0cnVjdCBobl9y eF9yaW5nLCBobl9jc3VtX3RydXN0ZWQpLAorCSAgICBobl9yeF9zdGF0X3Vsb25nX3N5c2N0bCwg IkxVIiwKKwkgICAgIiMgb2YgcGFja2V0cyB0aGF0IHdlIHRydXN0IGhvc3QncyBjc3VtIHZlcmlm aWNhdGlvbiIpOworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInNtYWxs X3BrdHMiLAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zm c2V0b2Yoc3RydWN0IGhuX3J4X3JpbmcsIGhuX3NtYWxsX3BrdHMpLAorCSAgICBobl9yeF9zdGF0 X3Vsb25nX3N5c2N0bCwgIkxVIiwgIiMgb2Ygc21hbGwgcGFja2V0cyByZWNlaXZlZCIpOworfQor CitzdGF0aWMgdm9pZAoraG5fZGVzdHJveV9yeF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAqc2MpCit7 CisjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQorCWludCBpOworI2VuZGlmCisK KwlpZiAoc2MtPmhuX3J4X3JpbmdfY250ID09IDApCisJCXJldHVybjsKKworI2lmIGRlZmluZWQo SU5FVCkgfHwgZGVmaW5lZChJTkVUNikKKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4X3Jpbmdf Y250OyArK2kpCisJCXRjcF9scm9fZnJlZSgmc2MtPmhuX3J4X3JpbmdbaV0uaG5fbHJvKTsKKyNl bmRpZgorCWZyZWUoc2MtPmhuX3J4X3JpbmcsIE1fTkVUVlNDKTsKKwlzYy0+aG5fcnhfcmluZyA9 IE5VTEw7CisKKwlzYy0+aG5fcnhfcmluZ19jbnQgPSAwOworfQorCiBzdGF0aWMgaW50CiBobl9j cmVhdGVfdHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMgKnNjKQogewpkaWZmIC0tZ2l0IGEvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaCBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9u ZXRfdnNjLmgKLS0tIGEvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaAorKysgYi9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCkBAIC05OTMsNiArOTkzLDI0IEBACiBz dHJ1Y3QgaG5fdHhkZXNjOwogU0xJU1RfSEVBRChobl90eGRlc2NfbGlzdCwgaG5fdHhkZXNjKTsK IAorc3RydWN0IGhuX3J4X3JpbmcgeworCXN0cnVjdCBscm9fY3RybAlobl9scm87CisKKwkvKiBU cnVzdCBjc3VtIHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUgKi8KKwlpbnQJCWhuX3RydXN0X2hj c3VtOwkvKiBITl9UUlVTVF9IQ1NVTV8gKi8KKworCXVfbG9uZwkJaG5fY3N1bV9pcDsKKwl1X2xv bmcJCWhuX2NzdW1fdGNwOworCXVfbG9uZwkJaG5fY3N1bV91ZHA7CisJdV9sb25nCQlobl9jc3Vt X3RydXN0ZWQ7CisJdV9sb25nCQlobl9scm9fdHJpZWQ7CisJdV9sb25nCQlobl9zbWFsbF9wa3Rz OworfSBfX2FsaWduZWQoQ0FDSEVfTElORV9TSVpFKTsKKworI2RlZmluZSBITl9UUlVTVF9IQ1NV TV9JUAkweDAwMDEKKyNkZWZpbmUgSE5fVFJVU1RfSENTVU1fVENQCTB4MDAwMgorI2RlZmluZSBI Tl9UUlVTVF9IQ1NVTV9VRFAJMHgwMDA0CisKIC8qCiAgKiBEZXZpY2Utc3BlY2lmaWMgc29mdGMg c3RydWN0dXJlCiAgKi8KQEAgLTEwMjksMjggKzEwNDcsMTYgQEAKIAlzdHJ1Y3QgdGFzawlobl9z dGFydF90YXNrOwogCXN0cnVjdCB0YXNrCWhuX3R4ZW9mX3Rhc2s7CiAKLQlzdHJ1Y3QgbHJvX2N0 cmwJaG5fbHJvOwotCi0JLyogVHJ1c3QgY3N1bSB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlICov Ci0JaW50CQlobl90cnVzdF9oY3N1bTsJLyogSE5fVFJVU1RfSENTVU1fICovCisJaW50CQlobl9y eF9yaW5nX2NudDsKKwlzdHJ1Y3QgaG5fcnhfcmluZyAqaG5fcnhfcmluZzsKIAotCXVfbG9uZwkJ aG5fY3N1bV9pcDsKLQl1X2xvbmcJCWhuX2NzdW1fdGNwOwotCXVfbG9uZwkJaG5fY3N1bV91ZHA7 Ci0JdV9sb25nCQlobl9jc3VtX3RydXN0ZWQ7Ci0JdV9sb25nCQlobl9scm9fdHJpZWQ7Ci0JdV9s b25nCQlobl9zbWFsbF9wa3RzOwogCXVfbG9uZwkJaG5fbm9fdHhkZXNjczsKIAl1X2xvbmcJCWhu X3NlbmRfZmFpbGVkOwogCXVfbG9uZwkJaG5fdHhkbWFfZmFpbGVkOwogCXVfbG9uZwkJaG5fdHhf Y29sbGFwc2VkOwogCXVfbG9uZwkJaG5fdHhfY2hpbW5leTsKIH0gaG5fc29mdGNfdDsKIAotI2Rl ZmluZSBITl9UUlVTVF9IQ1NVTV9JUAkweDAwMDEKLSNkZWZpbmUgSE5fVFJVU1RfSENTVU1fVENQ CTB4MDAwMgotI2RlZmluZSBITl9UUlVTVF9IQ1NVTV9VRFAJMHgwMDA0Ci0KIC8qCiAgKiBFeHRl cm5zCiAgKi8KCg== --b1_c046246977510ae753b330a7c3da2eb3-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 08:57:25 2016 Return-Path: Delivered-To: freebsd-virtualization@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 521EBAA6538 for ; Sun, 14 Feb 2016 08:57:25 +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 32F491FBB for ; Sun, 14 Feb 2016 08:57:25 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 30D633320E67; Sun, 14 Feb 2016 08:57:25 +0000 (UTC) Date: Sun, 14 Feb 2016 08:57:25 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5276+333+0427790033fcd928@reviews.freebsd.org Subject: [Differential] [Request, 10 lines] D5276: hyperv/hn: Use taskqueue_enqueue() 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: D5276: hyperv/hn: Use taskqueue_enqueue() 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: MzI0MTg0N2Y0NTM5MGMyZDRiNmVhNmJlNmE2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_257aab858dd35c55cd87df5f4039c6fb" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 08:57:25 -0000 --b1_257aab858dd35c55cd87df5f4039c6fb 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 This also eases experiment on the non-fast taskqueue. REVISION DETAIL https://reviews.freebsd.org/D5276 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -1549,7 +1549,7 @@ return; } do_sched: - taskqueue_enqueue_fast(sc->hn_tx_taskq, &sc->hn_start_task); + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_start_task); } static void @@ -1566,10 +1566,8 @@ atomic_clear_int(&ifp->if_drv_flags, IFF_DRV_OACTIVE); sched = hn_start_locked(ifp, sc->hn_direct_tx_size); NV_UNLOCK(sc); - if (sched) { - taskqueue_enqueue_fast(sc->hn_tx_taskq, - &sc->hn_start_task); - } + if (sched) + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_start_task); } else { do_sched: /* @@ -1579,7 +1577,7 @@ * races. */ atomic_clear_int(&ifp->if_drv_flags, IFF_DRV_OACTIVE); - taskqueue_enqueue_fast(sc->hn_tx_taskq, &sc->hn_txeof_task); + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_txeof_task); } } 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_257aab858dd35c55cd87df5f4039c6fb Content-Type: text/x-patch; charset=utf-8; name="D5276.13288.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5276.13288.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xNTQ5LDcgKzE1NDks NyBAQAogCQkJcmV0dXJuOwogCX0KIGRvX3NjaGVkOgotCXRhc2txdWV1ZV9lbnF1ZXVlX2Zhc3Qo c2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3N0YXJ0X3Rhc2spOworCXRhc2txdWV1ZV9lbnF1ZXVl KHNjLT5obl90eF90YXNrcSwgJnNjLT5obl9zdGFydF90YXNrKTsKIH0KIAogc3RhdGljIHZvaWQK QEAgLTE1NjYsMTAgKzE1NjYsOCBAQAogCQlhdG9taWNfY2xlYXJfaW50KCZpZnAtPmlmX2Rydl9m bGFncywgSUZGX0RSVl9PQUNUSVZFKTsKIAkJc2NoZWQgPSBobl9zdGFydF9sb2NrZWQoaWZwLCBz Yy0+aG5fZGlyZWN0X3R4X3NpemUpOwogCQlOVl9VTkxPQ0soc2MpOwotCQlpZiAoc2NoZWQpIHsK LQkJCXRhc2txdWV1ZV9lbnF1ZXVlX2Zhc3Qoc2MtPmhuX3R4X3Rhc2txLAotCQkJICAgICZzYy0+ aG5fc3RhcnRfdGFzayk7Ci0JCX0KKwkJaWYgKHNjaGVkKQorCQkJdGFza3F1ZXVlX2VucXVldWUo c2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3N0YXJ0X3Rhc2spOwogCX0gZWxzZSB7CiBkb19zY2hl ZDoKIAkJLyoKQEAgLTE1NzksNyArMTU3Nyw3IEBACiAJCSAqIHJhY2VzLgogCQkgKi8KIAkJYXRv bWljX2NsZWFyX2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7Ci0JCXRh c2txdWV1ZV9lbnF1ZXVlX2Zhc3Qoc2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3R4ZW9mX3Rhc2sp OworCQl0YXNrcXVldWVfZW5xdWV1ZShzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fdHhlb2ZfdGFz ayk7CiAJfQogfQogCgo= --b1_257aab858dd35c55cd87df5f4039c6fb-- From owner-freebsd-virtualization@freebsd.org Sun Feb 14 09:07:06 2016 Return-Path: Delivered-To: freebsd-virtualization@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 77FBBAA6C95 for ; Sun, 14 Feb 2016 09:07:06 +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 652C415F7 for ; Sun, 14 Feb 2016 09:07:06 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 636F43320B94; Sun, 14 Feb 2016 09:07:06 +0000 (UTC) Date: Sun, 14 Feb 2016 09:07:06 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5276+333+0427790033fcd928@reviews.freebsd.org Subject: [Differential] [Commented On] D5276: hyperv/hn: Use taskqueue_enqueue() Message-ID: <11e2cad3172a9acd90baafaec82c5fbb@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: D5276: hyperv/hn: Use taskqueue_enqueue() 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 In-Reply-To: References: Thread-Index: MzI0MTg0N2Y0NTM5MGMyZDRiNmVhNmJlNmE2IFbAQ7o= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 09:07:06 -0000 sepherosa_gmail.com added a comment. In https://reviews.freebsd.org/D5276#112396, @howard0su_gmail.com wrote: > This change is a noop since two functions are identical. Yeah, that's the purpose of this change! REVISION DETAIL https://reviews.freebsd.org/D5276 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 From owner-freebsd-virtualization@freebsd.org Sun Feb 14 09:06:08 2016 Return-Path: Delivered-To: freebsd-virtualization@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 D1F17AA6BE8 for ; Sun, 14 Feb 2016 09:06:08 +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 BF07414B0 for ; Sun, 14 Feb 2016 09:06:08 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id BDC32332052C; Sun, 14 Feb 2016 09:06:08 +0000 (UTC) Date: Sun, 14 Feb 2016 09:06:08 +0000 To: freebsd-virtualization@freebsd.org From: "howard0su_gmail.com (Howard Su)" Reply-to: D5276+333+0427790033fcd928@reviews.freebsd.org Subject: [Differential] [Updated] D5276: hyperv/hn: Use taskqueue_enqueue() Message-ID: <5764fe189c50ed8d48e8c8e5b9bb8967@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: D5276: hyperv/hn: Use taskqueue_enqueue() 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 In-Reply-To: References: Thread-Index: MzI0MTg0N2Y0NTM5MGMyZDRiNmVhNmJlNmE2IFbAQ4A= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-Mailman-Approved-At: Sun, 14 Feb 2016 13:05:22 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 09:06:08 -0000 howard0su_gmail.com added a comment. This change is a noop since two functions are identical. REVISION DETAIL https://reviews.freebsd.org/D5276 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 From owner-freebsd-virtualization@freebsd.org Sun Feb 14 21:00:41 2016 Return-Path: Delivered-To: freebsd-virtualization@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 D6842AA89F2 for ; Sun, 14 Feb 2016 21:00:41 +0000 (UTC) (envelope-from bugzilla-noreply@FreeBSD.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B59A3C82 for ; Sun, 14 Feb 2016 21:00:41 +0000 (UTC) (envelope-from bugzilla-noreply@FreeBSD.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u1EL01en010836 for ; Sun, 14 Feb 2016 21:00:41 GMT (envelope-from bugzilla-noreply@FreeBSD.org) Message-Id: <201602142100.u1EL01en010836@kenobi.freebsd.org> From: bugzilla-noreply@FreeBSD.org To: freebsd-virtualization@FreeBSD.org Subject: Problem reports for freebsd-virtualization@FreeBSD.org that need special attention Date: Sun, 14 Feb 2016 21:00:41 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 21:00:41 -0000 To view an individual PR, use: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=(Bug Id). The following is a listing of current problems submitted by FreeBSD users, which need special attention. These represent problem reports covering all versions including experimental development code and obsolete releases. Status | Bug Id | Description ------------+-----------+--------------------------------------------------- In Progress | 202321 | [bhyve,patch] More verbose error reporting in bhy New | 202322 | [bhyve,patch] add option to have bhyve write its 2 problems total for which you should take action. From owner-freebsd-virtualization@freebsd.org Mon Feb 15 01:58:22 2016 Return-Path: Delivered-To: freebsd-virtualization@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 5510BAA9A3C for ; Mon, 15 Feb 2016 01:58:22 +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 3475296D for ; Mon, 15 Feb 2016 01:58:22 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 342416FBA; Mon, 15 Feb 2016 01:58:22 +0000 (UTC) Date: Mon, 15 Feb 2016 01:58:22 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5282+333+bde49f8f80ca0f1f@reviews.freebsd.org Subject: [Differential] [Request, 4 lines] D5282: hyperv/hn: Use non-fast taskqueue for transmission 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: D5282: hyperv/hn: Use non-fast taskqueue for transmission 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: MTA0OWYzZmY5Yjk5MjNmYjE3MzdmZmI1ZDFj MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_0295902bf080b87423a1fe647f5acc2b" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2016 01:58:22 -0000 --b1_0295902bf080b87423a1fe647f5acc2b 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 Performance stays same; so no need to use fast taskqueue here. REVISION DETAIL https://reviews.freebsd.org/D5282 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -368,7 +368,7 @@ sc->hn_direct_tx_size = hn_direct_tx_size; if (hn_tx_taskq == NULL) { - sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + sc->hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &sc->hn_tx_taskq); taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", device_get_nameunit(dev)); @@ -2178,7 +2178,7 @@ if (!hn_share_tx_taskq) return; - hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &hn_tx_taskq); taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); } 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_0295902bf080b87423a1fe647f5acc2b Content-Type: text/x-patch; charset=utf-8; name="D5282.13307.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5282.13307.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0zNjgsNyArMzY4LDcg QEAKIAlzYy0+aG5fZGlyZWN0X3R4X3NpemUgPSBobl9kaXJlY3RfdHhfc2l6ZTsKIAogCWlmICho bl90eF90YXNrcSA9PSBOVUxMKSB7Ci0JCXNjLT5obl90eF90YXNrcSA9IHRhc2txdWV1ZV9jcmVh dGVfZmFzdCgiaG5fdHgiLCBNX1dBSVRPSywKKwkJc2MtPmhuX3R4X3Rhc2txID0gdGFza3F1ZXVl X2NyZWF0ZSgiaG5fdHgiLCBNX1dBSVRPSywKIAkJICAgIHRhc2txdWV1ZV90aHJlYWRfZW5xdWV1 ZSwgJnNjLT5obl90eF90YXNrcSk7CiAJCXRhc2txdWV1ZV9zdGFydF90aHJlYWRzKCZzYy0+aG5f dHhfdGFza3EsIDEsIFBJX05FVCwgIiVzIHR4IiwKIAkJICAgIGRldmljZV9nZXRfbmFtZXVuaXQo ZGV2KSk7CkBAIC0yMTc4LDcgKzIxNzgsNyBAQAogCWlmICghaG5fc2hhcmVfdHhfdGFza3EpCiAJ CXJldHVybjsKIAotCWhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KCJobl90eCIs IE1fV0FJVE9LLAorCWhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZSgiaG5fdHgiLCBNX1dB SVRPSywKIAkgICAgdGFza3F1ZXVlX3RocmVhZF9lbnF1ZXVlLCAmaG5fdHhfdGFza3EpOwogCXRh c2txdWV1ZV9zdGFydF90aHJlYWRzKCZobl90eF90YXNrcSwgMSwgUElfTkVULCAiaG4gdHgiKTsK IH0KCg== --b1_0295902bf080b87423a1fe647f5acc2b-- From owner-freebsd-virtualization@freebsd.org Mon Feb 15 08:59:11 2016 Return-Path: Delivered-To: freebsd-virtualization@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 32613AA6044 for ; Mon, 15 Feb 2016 08:59:11 +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 1D2301255 for ; Mon, 15 Feb 2016 08:59:11 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 1B6366E0F; Mon, 15 Feb 2016 08:59:11 +0000 (UTC) Date: Mon, 15 Feb 2016 08:59:11 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5283+333+c52ee0049dc2f53f@reviews.freebsd.org Subject: [Differential] [Request, 612 lines] D5283: hyperv/hn: Split TX ring data structure out of softc 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: D5283: hyperv/hn: Split TX ring data structure out of softc 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: NzMzOGZkYjcxOGQ0MjYzYmE0NWE0Nzc3NTEx MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_5d6f8634362bfdafd016edea8053a36e" X-Mailman-Approved-At: Mon, 15 Feb 2016 12:09:34 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2016 08:59:11 -0000 --b1_5d6f8634362bfdafd016edea8053a36e 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 This paves the way for upcoming vRSS stuffs and eases more code cleanup. REVISION DETAIL https://reviews.freebsd.org/D5283 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_5d6f8634362bfdafd016edea8053a36e Content-Type: text/x-patch; charset=utf-8; name="D5283.13312.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5283.13312.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xNTMsNyArMTUzLDcg QEAKIHN0cnVjdCBobl90eGRlc2MgewogCVNMSVNUX0VOVFJZKGhuX3R4ZGVzYykgbGluazsKIAlz dHJ1Y3QgbWJ1ZgkqbTsKLQlzdHJ1Y3QgaG5fc29mdGMJKnNjOworCXN0cnVjdCBobl90eF9yaW5n ICp0eHI7CiAJaW50CQlyZWZzOwogCXVpbnQzMl90CWZsYWdzOwkJLyogSE5fVFhEX0ZMQUdfICov CiAJbmV0dnNjX3BhY2tldAluZXR2c2NfcGt0OwkvKiBYWFggdG8gYmUgcmVtb3ZlZCAqLwpAQCAt MTkzLDcgKzE5Myw2IEBACiAjZGVmaW5lIE5WX0xPQ0tfSU5JVChfc2MsIF9uYW1lKSBcCiAJICAg IG10eF9pbml0KCYoX3NjKS0+aG5fbG9jaywgX25hbWUsIE1UWF9ORVRXT1JLX0xPQ0ssIE1UWF9E RUYpCiAjZGVmaW5lIE5WX0xPQ0soX3NjKQkJbXR4X2xvY2soJihfc2MpLT5obl9sb2NrKQotI2Rl ZmluZSBOVl9UUllMT0NLKF9zYykJCW10eF90cnlsb2NrKCYoX3NjKS0+aG5fbG9jaykKICNkZWZp bmUgTlZfTE9DS19BU1NFUlQoX3NjKQltdHhfYXNzZXJ0KCYoX3NjKS0+aG5fbG9jaywgTUFfT1dO RUQpCiAjZGVmaW5lIE5WX1VOTE9DSyhfc2MpCQltdHhfdW5sb2NrKCYoX3NjKS0+aG5fbG9jaykK ICNkZWZpbmUgTlZfTE9DS19ERVNUUk9ZKF9zYykJbXR4X2Rlc3Ryb3koJihfc2MpLT5obl9sb2Nr KQpAQCAtMjY2LDI1ICsyNjUsMzEgQEAKIHN0YXRpYyB2b2lkIGhuX2lmaW5pdF9sb2NrZWQoaG5f c29mdGNfdCAqc2MpOwogc3RhdGljIHZvaWQgaG5faWZpbml0KHZvaWQgKnhzYyk7CiBzdGF0aWMg aW50ICBobl9pb2N0bChzdHJ1Y3QgaWZuZXQgKmlmcCwgdV9sb25nIGNtZCwgY2FkZHJfdCBkYXRh KTsKLXN0YXRpYyBpbnQgaG5fc3RhcnRfbG9ja2VkKHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgbGVu KTsKK3N0YXRpYyBpbnQgaG5fc3RhcnRfbG9ja2VkKHN0cnVjdCBobl90eF9yaW5nICp0eHIsIGlu dCBsZW4pOwogc3RhdGljIHZvaWQgaG5fc3RhcnQoc3RydWN0IGlmbmV0ICppZnApOwotc3RhdGlj IHZvaWQgaG5fc3RhcnRfdHhlb2Yoc3RydWN0IGlmbmV0ICppZnApOworc3RhdGljIHZvaWQgaG5f c3RhcnRfdHhlb2Yoc3RydWN0IGhuX3R4X3JpbmcgKik7CiBzdGF0aWMgaW50IGhuX2lmbWVkaWFf dXBkKHN0cnVjdCBpZm5ldCAqaWZwKTsKIHN0YXRpYyB2b2lkIGhuX2lmbWVkaWFfc3RzKHN0cnVj dCBpZm5ldCAqaWZwLCBzdHJ1Y3QgaWZtZWRpYXJlcSAqaWZtcik7CiBzdGF0aWMgaW50IGhuX2xy b19sZW5saW1fc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOwogc3RhdGljIGludCBobl9scm9f YWNrY250X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKTsKIHN0YXRpYyBpbnQgaG5fdHJ1c3Rf aGNzdW1fc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOwogc3RhdGljIGludCBobl90eF9jaGlt bmV5X3NpemVfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOwogc3RhdGljIGludCBobl9yeF9z dGF0X3Vsb25nX3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKTsKIHN0YXRpYyBpbnQgaG5fcnhf c3RhdF91NjRfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOworc3RhdGljIGludCBobl90eF9z dGF0X3Vsb25nX3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKTsKK3N0YXRpYyBpbnQgaG5fdHhf Y29uZl9pbnRfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOwogc3RhdGljIGludCBobl9jaGVj a19pcGxlbihjb25zdCBzdHJ1Y3QgbWJ1ZiAqLCBpbnQpOwotc3RhdGljIGludCBobl9jcmVhdGVf dHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKLXN0YXRpYyB2b2lkIGhuX2Rlc3Ryb3lfdHhf cmluZyhzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKK3N0YXRpYyBpbnQgaG5fY3JlYXRlX3R4X3Jpbmco c3RydWN0IGhuX3NvZnRjICosIGludCk7CitzdGF0aWMgdm9pZCBobl9kZXN0cm95X3R4X3Jpbmco c3RydWN0IGhuX3R4X3JpbmcgKik7CitzdGF0aWMgaW50IGhuX2NyZWF0ZV90eF9kYXRhKHN0cnVj dCBobl9zb2Z0YyAqKTsKK3N0YXRpYyB2b2lkIGhuX2Rlc3Ryb3lfdHhfZGF0YShzdHJ1Y3QgaG5f c29mdGMgKik7CiBzdGF0aWMgdm9pZCBobl9zdGFydF90YXNrZnVuYyh2b2lkICp4c2MsIGludCBw ZW5kaW5nKTsKIHN0YXRpYyB2b2lkIGhuX3R4ZW9mX3Rhc2tmdW5jKHZvaWQgKnhzYywgaW50IHBl bmRpbmcpOwotc3RhdGljIGludCBobl9lbmNhcChzdHJ1Y3QgaG5fc29mdGMgKiwgc3RydWN0IGhu X3R4ZGVzYyAqLCBzdHJ1Y3QgbWJ1ZiAqKik7CitzdGF0aWMgdm9pZCBobl9zdG9wX3R4X3Rhc2tz KHN0cnVjdCBobl9zb2Z0YyAqKTsKK3N0YXRpYyBpbnQgaG5fZW5jYXAoc3RydWN0IGhuX3R4X3Jp bmcgKiwgc3RydWN0IGhuX3R4ZGVzYyAqLCBzdHJ1Y3QgbWJ1ZiAqKik7CiBzdGF0aWMgdm9pZCBo bl9jcmVhdGVfcnhfZGF0YShzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKIHN0YXRpYyB2b2lkIGhuX2Rl c3Ryb3lfcnhfZGF0YShzdHJ1Y3QgaG5fc29mdGMgKnNjKTsKK3N0YXRpYyB2b2lkIGhuX3NldF90 eF9jaGltbmV5X3NpemUoc3RydWN0IGhuX3NvZnRjICosIGludCk7CiAKIHN0YXRpYyBpbnQKIGhu X2lmbWVkaWFfdXBkKHN0cnVjdCBpZm5ldCAqaWZwIF9fdW51c2VkKQpAQCAtMzUwLDggKzM1NSw2 IEBACiAJaG5fc29mdGNfdCAqc2M7CiAJaW50IHVuaXQgPSBkZXZpY2VfZ2V0X3VuaXQoZGV2KTsK IAlzdHJ1Y3QgaWZuZXQgKmlmcCA9IE5VTEw7Ci0Jc3RydWN0IHN5c2N0bF9vaWRfbGlzdCAqY2hp bGQ7Ci0Jc3RydWN0IHN5c2N0bF9jdHhfbGlzdCAqY3R4OwogCWludCBlcnJvcjsKICNpZiBfX0Zy ZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDQ1CiAJaW50IHRzb19tYXhsZW47CkBAIC0zNjUsNyArMzY4 LDYgQEAKIAliemVybyhzYywgc2l6ZW9mKGhuX3NvZnRjX3QpKTsKIAlzYy0+aG5fdW5pdCA9IHVu aXQ7CiAJc2MtPmhuX2RldiA9IGRldjsKLQlzYy0+aG5fZGlyZWN0X3R4X3NpemUgPSBobl9kaXJl Y3RfdHhfc2l6ZTsKIAogCWlmIChobl90eF90YXNrcSA9PSBOVUxMKSB7CiAJCXNjLT5obl90eF90 YXNrcSA9IHRhc2txdWV1ZV9jcmVhdGUoImhuX3R4IiwgTV9XQUlUT0ssCkBAIC0zNzUsMjAgKzM3 NywxNyBAQAogCX0gZWxzZSB7CiAJCXNjLT5obl90eF90YXNrcSA9IGhuX3R4X3Rhc2txOwogCX0K LQlUQVNLX0lOSVQoJnNjLT5obl9zdGFydF90YXNrLCAwLCBobl9zdGFydF90YXNrZnVuYywgc2Mp OwotCVRBU0tfSU5JVCgmc2MtPmhuX3R4ZW9mX3Rhc2ssIDAsIGhuX3R4ZW9mX3Rhc2tmdW5jLCBz Yyk7Ci0KLQllcnJvciA9IGhuX2NyZWF0ZV90eF9yaW5nKHNjKTsKLQlpZiAoZXJyb3IpCi0JCWdv dG8gZmFpbGVkOwotCiAJTlZfTE9DS19JTklUKHNjLCAiTmV0VlNDTG9jayIpOwogCiAJc2MtPmhu X2Rldl9vYmogPSBkZXZpY2VfY3R4OwogCiAJaWZwID0gc2MtPmhuX2lmcCA9IGlmX2FsbG9jKElG VF9FVEhFUik7CiAJaWZwLT5pZl9zb2Z0YyA9IHNjOwogCisJZXJyb3IgPSBobl9jcmVhdGVfdHhf ZGF0YShzYyk7CisJaWYgKGVycm9yKQorCQlnb3RvIGZhaWxlZDsKKwogCWhuX2NyZWF0ZV9yeF9k YXRhKHNjKTsKIAogCWlmX2luaXRuYW1lKGlmcCwgZGV2aWNlX2dldF9uYW1lKGRldiksIGRldmlj ZV9nZXRfdW5pdChkZXYpKTsKQEAgLTQyMSwxMiArNDIwLDcgQEAKIAlpZnAtPmlmX2NhcGVuYWJs ZSB8PQogCSAgICBJRkNBUF9WTEFOX0hXVEFHR0lORyB8IElGQ0FQX1ZMQU5fTVRVIHwgSUZDQVBf SFdDU1VNIHwgSUZDQVBfVFNPIHwKIAkgICAgSUZDQVBfTFJPOwotCi0JaWYgKGh2X3ZtYnVzX3By b3RvY2FsX3ZlcnNpb24gPj0gSFZfVk1CVVNfVkVSU0lPTl9XSU44XzEpCi0JCXNjLT5obl9jc3Vt X2Fzc2lzdCA9IEhOX0NTVU1fQVNTSVNUOwotCWVsc2UKLQkJc2MtPmhuX2NzdW1fYXNzaXN0ID0g SE5fQ1NVTV9BU1NJU1RfV0lOODsKLQlpZnAtPmlmX2h3YXNzaXN0ID0gc2MtPmhuX2NzdW1fYXNz aXN0IHwgQ1NVTV9UU087CisJaWZwLT5pZl9od2Fzc2lzdCA9IHNjLT5obl90eF9yaW5nWzBdLmhu X2NzdW1fYXNzaXN0IHwgQ1NVTV9UU087CiAKIAllcnJvciA9IGh2X3JmX29uX2RldmljZV9hZGQo ZGV2aWNlX2N0eCwgJmRldmljZV9pbmZvKTsKIAlpZiAoZXJyb3IpCkBAIC00NTUsNTIgKzQ0OSwx NCBAQAogI2VuZGlmCiAKIAlzYy0+aG5fdHhfY2hpbW5leV9tYXggPSBzYy0+bmV0X2Rldi0+c2Vu ZF9zZWN0aW9uX3NpemU7Ci0Jc2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSA9IHNjLT5obl90eF9jaGlt bmV5X21heDsKKwlobl9zZXRfdHhfY2hpbW5leV9zaXplKHNjLCBzYy0+aG5fdHhfY2hpbW5leV9t YXgpOwogCWlmIChobl90eF9jaGltbmV5X3NpemUgPiAwICYmCiAJICAgIGhuX3R4X2NoaW1uZXlf c2l6ZSA8IHNjLT5obl90eF9jaGltbmV5X21heCkKLQkJc2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSA9 IGhuX3R4X2NoaW1uZXlfc2l6ZTsKLQotCS8qCi0JICogQWx3YXlzIHNjaGVkdWxlIHRyYW5zbWlz c2lvbiBpbnN0ZWFkIG9mIHRyeWluZwotCSAqIHRvIGRvIGRpcmVjdCB0cmFuc21pc3Npb24uICBU aGlzIG9uZSBnaXZlcyB0aGUKLQkgKiBiZXN0IHBlcmZvcm1hbmNlIHNvIGZhci4KLQkgKi8KLQlz Yy0+aG5fc2NoZWRfdHggPSAxOwotCi0JY3R4ID0gZGV2aWNlX2dldF9zeXNjdGxfY3R4KGRldik7 Ci0JY2hpbGQgPSBTWVNDVExfQ0hJTERSRU4oZGV2aWNlX2dldF9zeXNjdGxfdHJlZShkZXYpKTsK LQotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJub190eGRlc2NzIiwK LQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9ub190eGRlc2NzLCAiIyBvZiB0aW1lcyBzaG9ydCBv ZiBUWCBkZXNjcyIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJz ZW5kX2ZhaWxlZCIsCi0JICAgIENUTEZMQUdfUlcsICZzYy0+aG5fc2VuZF9mYWlsZWQsICIjIG9m IGh5cGVyLXYgc2VuZGluZyBmYWlsdXJlIik7Ci0JU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxk LCBPSURfQVVUTywgInR4ZG1hX2ZhaWxlZCIsCi0JICAgIENUTEZMQUdfUlcsICZzYy0+aG5fdHhk bWFfZmFpbGVkLCAiIyBvZiBUWCBETUEgZmFpbHVyZSIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4 LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jb2xsYXBzZWQiLAotCSAgICBDVExGTEFHX1JXLCAmc2Mt PmhuX3R4X2NvbGxhcHNlZCwgIiMgb2YgVFggbWJ1ZiBjb2xsYXBzZWQiKTsKLQlTWVNDVExfQURE X1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhfY2hpbW5leSIsCi0JICAgIENUTEZMQUdf UlcsICZzYy0+aG5fdHhfY2hpbW5leSwgIiMgb2YgY2hpbW5leSBzZW5kIik7Ci0JU1lTQ1RMX0FE RF9JTlQoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eGRlc2NfY250IiwKLQkgICAgQ1RMRkxBR19S RCwgJnNjLT5obl90eGRlc2NfY250LCAwLCAiIyBvZiB0b3RhbCBUWCBkZXNjcyIpOwotCVNZU0NU TF9BRERfSU5UKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhkZXNjX2F2YWlsIiwKLQkgICAgQ1RM RkxBR19SRCwgJnNjLT5obl90eGRlc2NfYXZhaWwsIDAsICIjIG9mIGF2YWlsYWJsZSBUWCBkZXNj cyIpOwotCVNZU0NUTF9BRERfSU5UKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhfY2hpbW5leV9t YXgiLAotCSAgICBDVExGTEFHX1JELCAmc2MtPmhuX3R4X2NoaW1uZXlfbWF4LCAwLAotCSAgICAi Q2hpbW5leSBzZW5kIHBhY2tldCBzaXplIHVwcGVyIGJvdW5kYXJ5Iik7Ci0JU1lTQ1RMX0FERF9Q Uk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhfY2hpbW5leV9zaXplIiwKLQkgICAgQ1RMVFlQ RV9JTlQgfCBDVExGTEFHX1JXLCBzYywgMCwgaG5fdHhfY2hpbW5leV9zaXplX3N5c2N0bCwKLQkg ICAgIkkiLCAiQ2hpbW5leSBzZW5kIHBhY2tldCBzaXplIGxpbWl0Iik7Ci0JU1lTQ1RMX0FERF9J TlQoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJkaXJlY3RfdHhfc2l6ZSIsCi0JICAgIENUTEZMQUdf UlcsICZzYy0+aG5fZGlyZWN0X3R4X3NpemUsIDAsCi0JICAgICJTaXplIG9mIHRoZSBwYWNrZXQg Zm9yIGRpcmVjdCB0cmFuc21pc3Npb24iKTsKLQlTWVNDVExfQUREX0lOVChjdHgsIGNoaWxkLCBP SURfQVVUTywgInNjaGVkX3R4IiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9zY2hlZF90eCwg MCwKLQkgICAgIkFsd2F5cyBzY2hlZHVsZSB0cmFuc21pc3Npb24gIgotCSAgICAiaW5zdGVhZCBv ZiBkb2luZyBkaXJlY3QgdHJhbnNtaXNzaW9uIik7CisJCWhuX3NldF90eF9jaGltbmV5X3NpemUo c2MsIGhuX3R4X2NoaW1uZXlfc2l6ZSk7CiAKIAlyZXR1cm4gKDApOwogZmFpbGVkOgotCWhuX2Rl c3Ryb3lfdHhfcmluZyhzYyk7CisJaG5fZGVzdHJveV90eF9kYXRhKHNjKTsKIAlpZiAoaWZwICE9 IE5VTEwpCiAJCWlmX2ZyZWUoaWZwKTsKIAlyZXR1cm4gKGVycm9yKTsKQEAgLTUzMSwxNCArNDg3 LDE0IEBACiAKIAlodl9yZl9vbl9kZXZpY2VfcmVtb3ZlKGh2X2RldmljZSwgSFZfUkZfTlZfREVT VFJPWV9DSEFOTkVMKTsKIAotCXRhc2txdWV1ZV9kcmFpbihzYy0+aG5fdHhfdGFza3EsICZzYy0+ aG5fc3RhcnRfdGFzayk7Ci0JdGFza3F1ZXVlX2RyYWluKHNjLT5obl90eF90YXNrcSwgJnNjLT5o bl90eGVvZl90YXNrKTsKLQlpZiAoc2MtPmhuX3R4X3Rhc2txICE9IGhuX3R4X3Rhc2txKQotCQl0 YXNrcXVldWVfZnJlZShzYy0+aG5fdHhfdGFza3EpOworCWhuX3N0b3BfdHhfdGFza3Moc2MpOwog CiAJaWZtZWRpYV9yZW1vdmVhbGwoJnNjLT5obl9tZWRpYSk7CiAJaG5fZGVzdHJveV9yeF9kYXRh KHNjKTsKLQlobl9kZXN0cm95X3R4X3Jpbmcoc2MpOworCWhuX2Rlc3Ryb3lfdHhfZGF0YShzYyk7 CisKKwlpZiAoc2MtPmhuX3R4X3Rhc2txICE9IGhuX3R4X3Rhc2txKQorCQl0YXNrcXVldWVfZnJl ZShzYy0+aG5fdHhfdGFza3EpOwogCiAJcmV0dXJuICgwKTsKIH0KQEAgLTU1MywxMyArNTA5LDEz IEBACiB9CiAKIHN0YXRpYyBfX2lubGluZSBpbnQKLWhuX3R4ZGVzY19kbWFtYXBfbG9hZChzdHJ1 Y3QgaG5fc29mdGMgKnNjLCBzdHJ1Y3QgaG5fdHhkZXNjICp0eGQsCitobl90eGRlc2NfZG1hbWFw X2xvYWQoc3RydWN0IGhuX3R4X3JpbmcgKnR4ciwgc3RydWN0IGhuX3R4ZGVzYyAqdHhkLAogICAg IHN0cnVjdCBtYnVmICoqbV9oZWFkLCBidXNfZG1hX3NlZ21lbnRfdCAqc2VncywgaW50ICpuc2Vn cykKIHsKIAlzdHJ1Y3QgbWJ1ZiAqbSA9ICptX2hlYWQ7CiAJaW50IGVycm9yOwogCi0JZXJyb3Ig PSBidXNfZG1hbWFwX2xvYWRfbWJ1Zl9zZyhzYy0+aG5fdHhfZGF0YV9kdGFnLCB0eGQtPmRhdGFf ZG1hcCwKKwllcnJvciA9IGJ1c19kbWFtYXBfbG9hZF9tYnVmX3NnKHR4ci0+aG5fdHhfZGF0YV9k dGFnLCB0eGQtPmRhdGFfZG1hcCwKIAkgICAgbSwgc2VncywgbnNlZ3MsIEJVU19ETUFfTk9XQUlU KTsKIAlpZiAoZXJyb3IgPT0gRUZCSUcpIHsKIAkJc3RydWN0IG1idWYgKm1fbmV3OwpAQCAtNTY5 LDM0ICs1MjUsMzQgQEAKIAkJCXJldHVybiBFTk9CVUZTOwogCQllbHNlCiAJCQkqbV9oZWFkID0g bSA9IG1fbmV3OwotCQlzYy0+aG5fdHhfY29sbGFwc2VkKys7CisJCXR4ci0+aG5fdHhfY29sbGFw c2VkKys7CiAKLQkJZXJyb3IgPSBidXNfZG1hbWFwX2xvYWRfbWJ1Zl9zZyhzYy0+aG5fdHhfZGF0 YV9kdGFnLAorCQllcnJvciA9IGJ1c19kbWFtYXBfbG9hZF9tYnVmX3NnKHR4ci0+aG5fdHhfZGF0 YV9kdGFnLAogCQkgICAgdHhkLT5kYXRhX2RtYXAsIG0sIHNlZ3MsIG5zZWdzLCBCVVNfRE1BX05P V0FJVCk7CiAJfQogCWlmICghZXJyb3IpIHsKLQkJYnVzX2RtYW1hcF9zeW5jKHNjLT5obl90eF9k YXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwLAorCQlidXNfZG1hbWFwX3N5bmModHhyLT5obl90eF9k YXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwLAogCQkgICAgQlVTX0RNQVNZTkNfUFJFV1JJVEUpOwog CQl0eGQtPmZsYWdzIHw9IEhOX1RYRF9GTEFHX0RNQU1BUDsKIAl9CiAJcmV0dXJuIGVycm9yOwog fQogCiBzdGF0aWMgX19pbmxpbmUgdm9pZAotaG5fdHhkZXNjX2RtYW1hcF91bmxvYWQoc3RydWN0 IGhuX3NvZnRjICpzYywgc3RydWN0IGhuX3R4ZGVzYyAqdHhkKQoraG5fdHhkZXNjX2RtYW1hcF91 bmxvYWQoc3RydWN0IGhuX3R4X3JpbmcgKnR4ciwgc3RydWN0IGhuX3R4ZGVzYyAqdHhkKQogewog CiAJaWYgKHR4ZC0+ZmxhZ3MgJiBITl9UWERfRkxBR19ETUFNQVApIHsKLQkJYnVzX2RtYW1hcF9z eW5jKHNjLT5obl90eF9kYXRhX2R0YWcsCisJCWJ1c19kbWFtYXBfc3luYyh0eHItPmhuX3R4X2Rh dGFfZHRhZywKIAkJICAgIHR4ZC0+ZGF0YV9kbWFwLCBCVVNfRE1BU1lOQ19QT1NUV1JJVEUpOwot CQlidXNfZG1hbWFwX3VubG9hZChzYy0+aG5fdHhfZGF0YV9kdGFnLAorCQlidXNfZG1hbWFwX3Vu bG9hZCh0eHItPmhuX3R4X2RhdGFfZHRhZywKIAkJICAgIHR4ZC0+ZGF0YV9kbWFwKTsKIAkJdHhk LT5mbGFncyAmPSB+SE5fVFhEX0ZMQUdfRE1BTUFQOwogCX0KIH0KIAogc3RhdGljIF9faW5saW5l IGludAotaG5fdHhkZXNjX3B1dChzdHJ1Y3QgaG5fc29mdGMgKnNjLCBzdHJ1Y3QgaG5fdHhkZXNj ICp0eGQpCitobl90eGRlc2NfcHV0KHN0cnVjdCBobl90eF9yaW5nICp0eHIsIHN0cnVjdCBobl90 eGRlc2MgKnR4ZCkKIHsKIAogCUtBU1NFUlQoKHR4ZC0+ZmxhZ3MgJiBITl9UWERfRkxBR19PTkxJ U1QpID09IDAsCkBAIC02MDYsMzkgKzU2MiwzOSBAQAogCWlmIChhdG9taWNfZmV0Y2hhZGRfaW50 KCZ0eGQtPnJlZnMsIC0xKSAhPSAxKQogCQlyZXR1cm4gMDsKIAotCWhuX3R4ZGVzY19kbWFtYXBf dW5sb2FkKHNjLCB0eGQpOworCWhuX3R4ZGVzY19kbWFtYXBfdW5sb2FkKHR4ciwgdHhkKTsKIAlp ZiAodHhkLT5tICE9IE5VTEwpIHsKIAkJbV9mcmVlbSh0eGQtPm0pOwogCQl0eGQtPm0gPSBOVUxM OwogCX0KIAogCXR4ZC0+ZmxhZ3MgfD0gSE5fVFhEX0ZMQUdfT05MSVNUOwogCi0JbXR4X2xvY2tf c3Bpbigmc2MtPmhuX3R4bGlzdF9zcGluKTsKLQlLQVNTRVJUKHNjLT5obl90eGRlc2NfYXZhaWwg Pj0gMCAmJgotCSAgICBzYy0+aG5fdHhkZXNjX2F2YWlsIDwgc2MtPmhuX3R4ZGVzY19jbnQsCi0J ICAgICgidHhkZXNjX3B1dDogaW52YWxpZCB0eGQgYXZhaWwgJWQiLCBzYy0+aG5fdHhkZXNjX2F2 YWlsKSk7Ci0Jc2MtPmhuX3R4ZGVzY19hdmFpbCsrOwotCVNMSVNUX0lOU0VSVF9IRUFEKCZzYy0+ aG5fdHhsaXN0LCB0eGQsIGxpbmspOwotCW10eF91bmxvY2tfc3Bpbigmc2MtPmhuX3R4bGlzdF9z cGluKTsKKwltdHhfbG9ja19zcGluKCZ0eHItPmhuX3R4bGlzdF9zcGluKTsKKwlLQVNTRVJUKHR4 ci0+aG5fdHhkZXNjX2F2YWlsID49IDAgJiYKKwkgICAgdHhyLT5obl90eGRlc2NfYXZhaWwgPCB0 eHItPmhuX3R4ZGVzY19jbnQsCisJICAgICgidHhkZXNjX3B1dDogaW52YWxpZCB0eGQgYXZhaWwg JWQiLCB0eHItPmhuX3R4ZGVzY19hdmFpbCkpOworCXR4ci0+aG5fdHhkZXNjX2F2YWlsKys7CisJ U0xJU1RfSU5TRVJUX0hFQUQoJnR4ci0+aG5fdHhsaXN0LCB0eGQsIGxpbmspOworCW10eF91bmxv Y2tfc3BpbigmdHhyLT5obl90eGxpc3Rfc3Bpbik7CiAKIAlyZXR1cm4gMTsKIH0KIAogc3RhdGlj IF9faW5saW5lIHN0cnVjdCBobl90eGRlc2MgKgotaG5fdHhkZXNjX2dldChzdHJ1Y3QgaG5fc29m dGMgKnNjKQoraG5fdHhkZXNjX2dldChzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyKQogewogCXN0cnVj dCBobl90eGRlc2MgKnR4ZDsKIAotCW10eF9sb2NrX3NwaW4oJnNjLT5obl90eGxpc3Rfc3Bpbik7 Ci0JdHhkID0gU0xJU1RfRklSU1QoJnNjLT5obl90eGxpc3QpOworCW10eF9sb2NrX3NwaW4oJnR4 ci0+aG5fdHhsaXN0X3NwaW4pOworCXR4ZCA9IFNMSVNUX0ZJUlNUKCZ0eHItPmhuX3R4bGlzdCk7 CiAJaWYgKHR4ZCAhPSBOVUxMKSB7Ci0JCUtBU1NFUlQoc2MtPmhuX3R4ZGVzY19hdmFpbCA+IDAs Ci0JCSAgICAoInR4ZGVzY19nZXQ6IGludmFsaWQgdHhkIGF2YWlsICVkIiwgc2MtPmhuX3R4ZGVz Y19hdmFpbCkpOwotCQlzYy0+aG5fdHhkZXNjX2F2YWlsLS07Ci0JCVNMSVNUX1JFTU9WRV9IRUFE KCZzYy0+aG5fdHhsaXN0LCBsaW5rKTsKKwkJS0FTU0VSVCh0eHItPmhuX3R4ZGVzY19hdmFpbCA+ IDAsCisJCSAgICAoInR4ZGVzY19nZXQ6IGludmFsaWQgdHhkIGF2YWlsICVkIiwgdHhyLT5obl90 eGRlc2NfYXZhaWwpKTsKKwkJdHhyLT5obl90eGRlc2NfYXZhaWwtLTsKKwkJU0xJU1RfUkVNT1ZF X0hFQUQoJnR4ci0+aG5fdHhsaXN0LCBsaW5rKTsKIAl9Ci0JbXR4X3VubG9ja19zcGluKCZzYy0+ aG5fdHhsaXN0X3NwaW4pOworCW10eF91bmxvY2tfc3BpbigmdHhyLT5obl90eGxpc3Rfc3Bpbik7 CiAKIAlpZiAodHhkICE9IE5VTEwpIHsKIAkJS0FTU0VSVCh0eGQtPm0gPT0gTlVMTCAmJiB0eGQt PnJlZnMgPT0gMCAmJgpAQCAtNjcwLDIwICs2MjYsMjEgQEAKIHsKIAluZXR2c2NfcGFja2V0ICpw YWNrZXQgPSBjb250ZXh0OwogCXN0cnVjdCBobl90eGRlc2MgKnR4ZDsKLQlzdHJ1Y3QgaG5fc29m dGMgKnNjOworCXN0cnVjdCBobl90eF9yaW5nICp0eHI7CiAKIAl0eGQgPSAoc3RydWN0IGhuX3R4 ZGVzYyAqKSh1aW50cHRyX3QpCiAJICAgIHBhY2tldC0+Y29tcGwuc2VuZC5zZW5kX2NvbXBsZXRp b25fdGlkOwogCi0Jc2MgPSB0eGQtPnNjOwotCXNjLT5obl90eGVvZiA9IDE7Ci0JaG5fdHhkZXNj X3B1dChzYywgdHhkKTsKKwl0eHIgPSB0eGQtPnR4cjsKKwl0eHItPmhuX3R4ZW9mID0gMTsKKwlo bl90eGRlc2NfcHV0KHR4ciwgdHhkKTsKIH0KIAogdm9pZAogbmV0dnNjX2NoYW5uZWxfcm9sbHVw KHN0cnVjdCBodl9kZXZpY2UgKmRldmljZV9jdHgpCiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9 IGRldmljZV9nZXRfc29mdGMoZGV2aWNlX2N0eC0+ZGV2aWNlKTsKKwlzdHJ1Y3QgaG5fdHhfcmlu ZyAqdHhyID0gJnNjLT5obl90eF9yaW5nWzBdOyAvKiBUT0RPOiB2UlNTICovCiAjaWYgZGVmaW5l ZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQogCXN0cnVjdCBobl9yeF9yaW5nICpyeHIgPSAmc2Mt PmhuX3J4X3JpbmdbMF07IC8qIFRPRE86IHZSU1MgKi8KIAlzdHJ1Y3QgbHJvX2N0cmwgKmxybyA9 ICZyeHItPmhuX2xybzsKQEAgLTY5NSwxOSArNjUyLDE5IEBACiAJfQogI2VuZGlmCiAKLQlpZiAo IXNjLT5obl90eGVvZikKKwlpZiAoIXR4ci0+aG5fdHhlb2YpCiAJCXJldHVybjsKIAotCXNjLT5o bl90eGVvZiA9IDA7Ci0JaG5fc3RhcnRfdHhlb2Yoc2MtPmhuX2lmcCk7CisJdHhyLT5obl90eGVv ZiA9IDA7CisJaG5fc3RhcnRfdHhlb2YodHhyKTsKIH0KIAogLyoKICAqIE5PVEU6CiAgKiBJZiB0 aGlzIGZ1bmN0aW9uIGZhaWxzLCB0aGVuIGJvdGggdHhkIGFuZCBtX2hlYWQwIHdpbGwgYmUgZnJl ZWQuCiAgKi8KIHN0YXRpYyBpbnQKLWhuX2VuY2FwKHN0cnVjdCBobl9zb2Z0YyAqc2MsIHN0cnVj dCBobl90eGRlc2MgKnR4ZCwgc3RydWN0IG1idWYgKiptX2hlYWQwKQoraG5fZW5jYXAoc3RydWN0 IGhuX3R4X3JpbmcgKnR4ciwgc3RydWN0IGhuX3R4ZGVzYyAqdHhkLCBzdHJ1Y3QgbWJ1ZiAqKm1f aGVhZDApCiB7CiAJYnVzX2RtYV9zZWdtZW50X3Qgc2Vnc1tITl9UWF9EQVRBX1NFR0NOVF9NQVhd OwogCWludCBlcnJvciwgbnNlZ3MsIGk7CkBAIC04MTAsNyArNzY3LDcgQEAKICNlbmRpZgogCQl0 c29faW5mby0+bHNvX3YyX3htaXQudGNwX2hlYWRlcl9vZmZzZXQgPSAwOwogCQl0c29faW5mby0+ bHNvX3YyX3htaXQubXNzID0gbV9oZWFkLT5tX3BrdGhkci50c29fc2Vnc3o7Ci0JfSBlbHNlIGlm IChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3MgJiBzYy0+aG5fY3N1bV9hc3Npc3QpIHsKKwl9 IGVsc2UgaWYgKG1faGVhZC0+bV9wa3RoZHIuY3N1bV9mbGFncyAmIHR4ci0+aG5fY3N1bV9hc3Np c3QpIHsKIAkJcm5kaXNfdGNwX2lwX2NzdW1faW5mbyAqY3N1bV9pbmZvOwogCiAJCXJuZGlzX21z Z19zaXplICs9IFJORElTX0NTVU1fUFBJX1NJWkU7CkBAIC04MzcsOCArNzk0LDggQEAKIAkvKgog CSAqIENoaW1uZXkgc2VuZCwgaWYgdGhlIHBhY2tldCBjb3VsZCBmaXQgaW50byBvbmUgY2hpbW5l eSBidWZmZXIuCiAJICovCi0JaWYgKHBhY2tldC0+dG90X2RhdGFfYnVmX2xlbiA8IHNjLT5obl90 eF9jaGltbmV5X3NpemUpIHsKLQkJbmV0dnNjX2RldiAqbmV0X2RldiA9IHNjLT5uZXRfZGV2Owor CWlmIChwYWNrZXQtPnRvdF9kYXRhX2J1Zl9sZW4gPCB0eHItPmhuX3R4X2NoaW1uZXlfc2l6ZSkg eworCQluZXR2c2NfZGV2ICpuZXRfZGV2ID0gdHhyLT5obl9zYy0+bmV0X2RldjsKIAkJdWludDMy X3Qgc2VuZF9idWZfc2VjdGlvbl9pZHg7CiAKIAkJc2VuZF9idWZfc2VjdGlvbl9pZHggPQpAQCAt ODU3LDEyICs4MTQsMTIgQEAKIAkJCXBhY2tldC0+c2VuZF9idWZfc2VjdGlvbl9zaXplID0KIAkJ CSAgICBwYWNrZXQtPnRvdF9kYXRhX2J1Zl9sZW47CiAJCQlwYWNrZXQtPnBhZ2VfYnVmX2NvdW50 ID0gMDsKLQkJCXNjLT5obl90eF9jaGltbmV5Kys7CisJCQl0eHItPmhuX3R4X2NoaW1uZXkrKzsK IAkJCWdvdG8gZG9uZTsKIAkJfQogCX0KIAotCWVycm9yID0gaG5fdHhkZXNjX2RtYW1hcF9sb2Fk KHNjLCB0eGQsICZtX2hlYWQsIHNlZ3MsICZuc2Vncyk7CisJZXJyb3IgPSBobl90eGRlc2NfZG1h bWFwX2xvYWQodHhyLCB0eGQsICZtX2hlYWQsIHNlZ3MsICZuc2Vncyk7CiAJaWYgKGVycm9yKSB7 CiAJCWludCBmcmVlZDsKIApAQCAtODcyLDEyICs4MjksMTIgQEAKIAkJbV9mcmVlbShtX2hlYWQp OwogCQkqbV9oZWFkMCA9IE5VTEw7CiAKLQkJZnJlZWQgPSBobl90eGRlc2NfcHV0KHNjLCB0eGQp OworCQlmcmVlZCA9IGhuX3R4ZGVzY19wdXQodHhyLCB0eGQpOwogCQlLQVNTRVJUKGZyZWVkICE9 IDAsCiAJCSAgICAoImZhaWwgdG8gZnJlZSB0eGQgdXBvbiB0eGRtYSBlcnJvciIpKTsKIAotCQlz Yy0+aG5fdHhkbWFfZmFpbGVkKys7Ci0JCWlmX2luY19jb3VudGVyKHNjLT5obl9pZnAsIElGQ09V TlRFUl9PRVJST1JTLCAxKTsKKwkJdHhyLT5obl90eGRtYV9mYWlsZWQrKzsKKwkJaWZfaW5jX2Nv dW50ZXIodHhyLT5obl9zYy0+aG5faWZwLCBJRkNPVU5URVJfT0VSUk9SUywgMSk7CiAJCXJldHVy biBlcnJvcjsKIAl9CiAJKm1faGVhZDAgPSBtX2hlYWQ7CkBAIC05MjAsMTEgKzg3NywxNSBAQAog ICogU3RhcnQgYSB0cmFuc21pdCBvZiBvbmUgb3IgbW9yZSBwYWNrZXRzCiAgKi8KIHN0YXRpYyBp bnQKLWhuX3N0YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCwgaW50IGxlbikKK2huX3N0YXJ0 X2xvY2tlZChzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyLCBpbnQgbGVuKQogewotCXN0cnVjdCBobl9z b2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSB0eHItPmhu X3NjOworCXN0cnVjdCBpZm5ldCAqaWZwID0gc2MtPmhuX2lmcDsKIAlzdHJ1Y3QgaHZfZGV2aWNl ICpkZXZpY2VfY3R4ID0gdm1idXNfZ2V0X2RldmN0eChzYy0+aG5fZGV2KTsKIAorCUtBU1NFUlQo dHhyID09ICZzYy0+aG5fdHhfcmluZ1swXSwgKCJub3QgdGhlIGZpcnN0IFRYIHJpbmciKSk7CisJ bXR4X2Fzc2VydCgmdHhyLT5obl90eF9sb2NrLCBNQV9PV05FRCk7CisKIAlpZiAoKGlmcC0+aWZf ZHJ2X2ZsYWdzICYgKElGRl9EUlZfUlVOTklORyB8IElGRl9EUlZfT0FDVElWRSkpICE9CiAJICAg IElGRl9EUlZfUlVOTklORykKIAkJcmV0dXJuIDA7CkBAIC05NDgsMTUgKzkwOSwxNSBAQAogCQkJ cmV0dXJuIDE7CiAJCX0KIAotCQl0eGQgPSBobl90eGRlc2NfZ2V0KHNjKTsKKwkJdHhkID0gaG5f dHhkZXNjX2dldCh0eHIpOwogCQlpZiAodHhkID09IE5VTEwpIHsKLQkJCXNjLT5obl9ub190eGRl c2NzKys7CisJCQl0eHItPmhuX25vX3R4ZGVzY3MrKzsKIAkJCUlGX1BSRVBFTkQoJmlmcC0+aWZf c25kLCBtX2hlYWQpOwogCQkJYXRvbWljX3NldF9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJRkZf RFJWX09BQ1RJVkUpOwogCQkJYnJlYWs7CiAJCX0KIAotCQllcnJvciA9IGhuX2VuY2FwKHNjLCB0 eGQsICZtX2hlYWQpOworCQllcnJvciA9IGhuX2VuY2FwKHR4ciwgdHhkLCAmbV9oZWFkKTsKIAkJ aWYgKGVycm9yKSB7CiAJCQkvKiBCb3RoIHR4ZCBhbmQgbV9oZWFkIGFyZSBmcmVlZCAqLwogCQkJ Y29udGludWU7CkBAIC05NzEsNyArOTMyLDcgQEAKIAkJCUVUSEVSX0JQRl9NVEFQKGlmcCwgbV9o ZWFkKTsKIAkJCWlmX2luY19jb3VudGVyKGlmcCwgSUZDT1VOVEVSX09QQUNLRVRTLCAxKTsKIAkJ fQotCQlobl90eGRlc2NfcHV0KHNjLCB0eGQpOworCQlobl90eGRlc2NfcHV0KHR4ciwgdHhkKTsK IAogCQlpZiAoX19wcmVkaWN0X2ZhbHNlKGVycm9yKSkgewogCQkJaW50IGZyZWVkOwpAQCAtOTgz LDkgKzk0NCw5IEBACiAJCQkgKiBjb21tYW5kcyB0byBydW4/ICBBc2sgbmV0dnNjX2NoYW5uZWxf cm9sbHVwKCkKIAkJCSAqIHRvIGtpY2sgc3RhcnQgbGF0ZXIuCiAJCQkgKi8KLQkJCXNjLT5obl90 eGVvZiA9IDE7CisJCQl0eHItPmhuX3R4ZW9mID0gMTsKIAkJCWlmICghc2VuZF9mYWlsZWQpIHsK LQkJCQlzYy0+aG5fc2VuZF9mYWlsZWQrKzsKKwkJCQl0eHItPmhuX3NlbmRfZmFpbGVkKys7CiAJ CQkJc2VuZF9mYWlsZWQgPSAxOwogCQkJCS8qCiAJCQkJICogVHJ5IHNlbmRpbmcgYWdhaW4gYWZ0 ZXIgc2V0IGhuX3R4ZW9mOwpAQCAtMTAwMiwxMSArOTYzLDExIEBACiAJCQkgKiBETUEgbWFwIGlu IGhuX3R4ZGVzY19wdXQoKSwgaWYgaXQgd2FzIGxvYWRlZC4KIAkJCSAqLwogCQkJdHhkLT5tID0g TlVMTDsKLQkJCWZyZWVkID0gaG5fdHhkZXNjX3B1dChzYywgdHhkKTsKKwkJCWZyZWVkID0gaG5f dHhkZXNjX3B1dCh0eHIsIHR4ZCk7CiAJCQlLQVNTRVJUKGZyZWVkICE9IDAsCiAJCQkgICAgKCJm YWlsIHRvIGZyZWUgdHhkIHVwb24gc2VuZCBlcnJvciIpKTsKIAotCQkJc2MtPmhuX3NlbmRfZmFp bGVkKys7CisJCQl0eHItPmhuX3NlbmRfZmFpbGVkKys7CiAJCQlJRl9QUkVQRU5EKCZpZnAtPmlm X3NuZCwgbV9oZWFkKTsKIAkJCWF0b21pY19zZXRfaW50KCZpZnAtPmlmX2Rydl9mbGFncywgSUZG X0RSVl9PQUNUSVZFKTsKIAkJCWJyZWFrOwpAQCAtMTM4NCw4ICsxMzQ1LDEwIEBACiAJCX0KIAog CQlzYy0+aG5fdHhfY2hpbW5leV9tYXggPSBzYy0+bmV0X2Rldi0+c2VuZF9zZWN0aW9uX3NpemU7 Ci0JCWlmIChzYy0+aG5fdHhfY2hpbW5leV9zaXplID4gc2MtPmhuX3R4X2NoaW1uZXlfbWF4KQot CQkJc2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSA9IHNjLT5obl90eF9jaGltbmV5X21heDsKKwkJaWYg KHNjLT5obl90eF9yaW5nWzBdLmhuX3R4X2NoaW1uZXlfc2l6ZSA+CisJCSAgICBzYy0+aG5fdHhf Y2hpbW5leV9tYXgpCisJCQlobl9zZXRfdHhfY2hpbW5leV9zaXplKHNjLCBzYy0+aG5fdHhfY2hp bW5leV9tYXgpOworCiAJCWhuX2lmaW5pdF9sb2NrZWQoc2MpOwogCiAJCU5WX0xPQ0soc2MpOwpA QCAtMTQ1MCwxMCArMTQxMywxMyBAQAogCQltYXNrID0gaWZyLT5pZnJfcmVxY2FwIF4gaWZwLT5p Zl9jYXBlbmFibGU7CiAJCWlmIChtYXNrICYgSUZDQVBfVFhDU1VNKSB7CiAJCQlpZnAtPmlmX2Nh cGVuYWJsZSBePSBJRkNBUF9UWENTVU07Ci0JCQlpZiAoaWZwLT5pZl9jYXBlbmFibGUgJiBJRkNB UF9UWENTVU0pCi0JCQkJaWZwLT5pZl9od2Fzc2lzdCB8PSBzYy0+aG5fY3N1bV9hc3Npc3Q7Ci0J CQllbHNlCi0JCQkJaWZwLT5pZl9od2Fzc2lzdCAmPSB+c2MtPmhuX2NzdW1fYXNzaXN0OworCQkJ aWYgKGlmcC0+aWZfY2FwZW5hYmxlICYgSUZDQVBfVFhDU1VNKSB7CisJCQkJaWZwLT5pZl9od2Fz c2lzdCB8PQorCQkJCSAgICBzYy0+aG5fdHhfcmluZ1swXS5obl9jc3VtX2Fzc2lzdDsKKwkJCX0g ZWxzZSB7CisJCQkJaWZwLT5pZl9od2Fzc2lzdCAmPQorCQkJCSAgICB+c2MtPmhuX3R4X3Jpbmdb MF0uaG5fY3N1bV9hc3Npc3Q7CisJCQl9CiAJCX0KIAogCQlpZiAobWFzayAmIElGQ0FQX1JYQ1NV TSkKQEAgLTE1MzYsNDggKzE1MDIsNTQgQEAKIGhuX3N0YXJ0KHN0cnVjdCBpZm5ldCAqaWZwKQog ewogCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOworCXN0cnVjdCBobl90eF9y aW5nICp0eHIgPSAmc2MtPmhuX3R4X3JpbmdbMF07CiAKLQlpZiAoc2MtPmhuX3NjaGVkX3R4KQor CWlmICh0eHItPmhuX3NjaGVkX3R4KQogCQlnb3RvIGRvX3NjaGVkOwogCi0JaWYgKE5WX1RSWUxP Q0soc2MpKSB7CisJaWYgKG10eF90cnlsb2NrKCZ0eHItPmhuX3R4X2xvY2spKSB7CiAJCWludCBz Y2hlZDsKIAotCQlzY2hlZCA9IGhuX3N0YXJ0X2xvY2tlZChpZnAsIHNjLT5obl9kaXJlY3RfdHhf c2l6ZSk7Ci0JCU5WX1VOTE9DSyhzYyk7CisJCXNjaGVkID0gaG5fc3RhcnRfbG9ja2VkKHR4ciwg dHhyLT5obl9kaXJlY3RfdHhfc2l6ZSk7CisJCW10eF91bmxvY2soJnR4ci0+aG5fdHhfbG9jayk7 CiAJCWlmICghc2NoZWQpCiAJCQlyZXR1cm47CiAJfQogZG9fc2NoZWQ6Ci0JdGFza3F1ZXVlX2Vu cXVldWUoc2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3N0YXJ0X3Rhc2spOworCXRhc2txdWV1ZV9l bnF1ZXVlKHR4ci0+aG5fdHhfdGFza3EsICZ0eHItPmhuX3N0YXJ0X3Rhc2spOwogfQogCiBzdGF0 aWMgdm9pZAotaG5fc3RhcnRfdHhlb2Yoc3RydWN0IGlmbmV0ICppZnApCitobl9zdGFydF90eGVv ZihzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyKQogewotCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBpZnAt PmlmX3NvZnRjOworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSB0eHItPmhuX3NjOworCXN0cnVjdCBp Zm5ldCAqaWZwID0gc2MtPmhuX2lmcDsKKworCUtBU1NFUlQodHhyID09ICZzYy0+aG5fdHhfcmlu Z1swXSwgKCJub3QgdGhlIGZpcnN0IFRYIHJpbmciKSk7CiAKLQlpZiAoc2MtPmhuX3NjaGVkX3R4 KQorCWlmICh0eHItPmhuX3NjaGVkX3R4KQogCQlnb3RvIGRvX3NjaGVkOwogCi0JaWYgKE5WX1RS WUxPQ0soc2MpKSB7CisJaWYgKG10eF90cnlsb2NrKCZ0eHItPmhuX3R4X2xvY2spKSB7CiAJCWlu dCBzY2hlZDsKIAogCQlhdG9taWNfY2xlYXJfaW50KCZpZnAtPmlmX2Rydl9mbGFncywgSUZGX0RS Vl9PQUNUSVZFKTsKLQkJc2NoZWQgPSBobl9zdGFydF9sb2NrZWQoaWZwLCBzYy0+aG5fZGlyZWN0 X3R4X3NpemUpOwotCQlOVl9VTkxPQ0soc2MpOwotCQlpZiAoc2NoZWQpCi0JCQl0YXNrcXVldWVf ZW5xdWV1ZShzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fc3RhcnRfdGFzayk7CisJCXNjaGVkID0g aG5fc3RhcnRfbG9ja2VkKHR4ciwgdHhyLT5obl9kaXJlY3RfdHhfc2l6ZSk7CisJCW10eF91bmxv Y2soJnR4ci0+aG5fdHhfbG9jayk7CisJCWlmIChzY2hlZCkgeworCQkJdGFza3F1ZXVlX2VucXVl dWUodHhyLT5obl90eF90YXNrcSwKKwkJCSAgICAmdHhyLT5obl9zdGFydF90YXNrKTsKKwkJfQog CX0gZWxzZSB7CiBkb19zY2hlZDoKIAkJLyoKIAkJICogUmVsZWFzZSB0aGUgT0FDVElWRSBlYXJs aWVyLCB3aXRoIHRoZSBob3BlLCB0aGF0CiAJCSAqIG90aGVycyBjb3VsZCBjYXRjaCB1cC4gIFRo ZSB0YXNrIHdpbGwgY2xlYXIgdGhlCi0JCSAqIGZsYWcgYWdhaW4gd2l0aCB0aGUgTlZfTE9DSyB0 byBhdm9pZCBwb3NzaWJsZQorCQkgKiBmbGFnIGFnYWluIHdpdGggdGhlIGhuX3R4X2xvY2sgdG8g YXZvaWQgcG9zc2libGUKIAkJICogcmFjZXMuCiAJCSAqLwogCQlhdG9taWNfY2xlYXJfaW50KCZp ZnAtPmlmX2Rydl9mbGFncywgSUZGX0RSVl9PQUNUSVZFKTsKLQkJdGFza3F1ZXVlX2VucXVldWUo c2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3R4ZW9mX3Rhc2spOworCQl0YXNrcXVldWVfZW5xdWV1 ZSh0eHItPmhuX3R4X3Rhc2txLCAmdHhyLT5obl90eGVvZl90YXNrKTsKIAl9CiB9CiAKQEAgLTE3 MzYsMTYgKzE3MDgsMTUgQEAKIAlzdHJ1Y3QgaG5fc29mdGMgKnNjID0gYXJnMTsKIAlpbnQgY2hp bW5leV9zaXplLCBlcnJvcjsKIAotCWNoaW1uZXlfc2l6ZSA9IHNjLT5obl90eF9jaGltbmV5X3Np emU7CisJY2hpbW5leV9zaXplID0gc2MtPmhuX3R4X3JpbmdbMF0uaG5fdHhfY2hpbW5leV9zaXpl OwogCWVycm9yID0gc3lzY3RsX2hhbmRsZV9pbnQob2lkcCwgJmNoaW1uZXlfc2l6ZSwgMCwgcmVx KTsKIAlpZiAoZXJyb3IgfHwgcmVxLT5uZXdwdHIgPT0gTlVMTCkKIAkJcmV0dXJuIGVycm9yOwog CiAJaWYgKGNoaW1uZXlfc2l6ZSA+IHNjLT5obl90eF9jaGltbmV5X21heCB8fCBjaGltbmV5X3Np emUgPD0gMCkKIAkJcmV0dXJuIEVJTlZBTDsKIAotCWlmIChzYy0+aG5fdHhfY2hpbW5leV9zaXpl ICE9IGNoaW1uZXlfc2l6ZSkKLQkJc2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSA9IGNoaW1uZXlfc2l6 ZTsKKwlobl9zZXRfdHhfY2hpbW5leV9zaXplKHNjLCBjaGltbmV5X3NpemUpOwogCXJldHVybiAw OwogfQogCkBAIC0xODAyLDYgKzE3NzMsNTYgQEAKIH0KIAogc3RhdGljIGludAoraG5fdHhfc3Rh dF91bG9uZ19zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKK3sKKwlzdHJ1Y3QgaG5fc29mdGMg KnNjID0gYXJnMTsKKwlpbnQgb2ZzID0gYXJnMiwgaSwgZXJyb3I7CisJc3RydWN0IGhuX3R4X3Jp bmcgKnR4cjsKKwl1X2xvbmcgc3RhdDsKKworCXN0YXQgPSAwOworCWZvciAoaSA9IDA7IGkgPCBz Yy0+aG5fdHhfcmluZ19jbnQ7ICsraSkgeworCQl0eHIgPSAmc2MtPmhuX3R4X3JpbmdbaV07CisJ CXN0YXQgKz0gKigodV9sb25nICopKCh1aW50OF90ICopdHhyICsgb2ZzKSk7CisJfQorCisJZXJy b3IgPSBzeXNjdGxfaGFuZGxlX2xvbmcob2lkcCwgJnN0YXQsIDAsIHJlcSk7CisJaWYgKGVycm9y IHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCisJCXJldHVybiBlcnJvcjsKKworCS8qIFplcm8gb3V0 IHRoaXMgc3RhdC4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3R4X3JpbmdfY250OyArK2kp IHsKKwkJdHhyID0gJnNjLT5obl90eF9yaW5nW2ldOworCQkqKCh1X2xvbmcgKikoKHVpbnQ4X3Qg Kil0eHIgKyBvZnMpKSA9IDA7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Citobl90 eF9jb25mX2ludF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKK3sKKwlzdHJ1Y3QgaG5fc29m dGMgKnNjID0gYXJnMTsKKwlpbnQgb2ZzID0gYXJnMiwgaSwgZXJyb3IsIGNvbmY7CisJc3RydWN0 IGhuX3R4X3JpbmcgKnR4cjsKKworCXR4ciA9ICZzYy0+aG5fdHhfcmluZ1swXTsKKwljb25mID0g KigoaW50ICopKCh1aW50OF90ICopdHhyICsgb2ZzKSk7CisKKwllcnJvciA9IHN5c2N0bF9oYW5k bGVfaW50KG9pZHAsICZjb25mLCAwLCByZXEpOworCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9 PSBOVUxMKQorCQlyZXR1cm4gZXJyb3I7CisKKwlOVl9MT0NLKHNjKTsKKwlmb3IgKGkgPSAwOyBp IDwgc2MtPmhuX3R4X3JpbmdfY250OyArK2kpIHsKKwkJdHhyID0gJnNjLT5obl90eF9yaW5nW2ld OworCQkqKChpbnQgKikoKHVpbnQ4X3QgKil0eHIgKyBvZnMpKSA9IGNvbmY7CisJfQorCU5WX1VO TE9DSyhzYyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAogaG5fY2hlY2tfaXBsZW4o Y29uc3Qgc3RydWN0IG1idWYgKm0sIGludCBob2ZmKQogewogCWNvbnN0IHN0cnVjdCBpcCAqaXA7 CkBAIC0yMDE5LDE2ICsyMDQwLDM3IEBACiB9CiAKIHN0YXRpYyBpbnQKLWhuX2NyZWF0ZV90eF9y aW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpCitobl9jcmVhdGVfdHhfcmluZyhzdHJ1Y3QgaG5fc29m dGMgKnNjLCBpbnQgaWQpCiB7CisJc3RydWN0IGhuX3R4X3JpbmcgKnR4ciA9ICZzYy0+aG5fdHhf cmluZ1tpZF07CiAJYnVzX2RtYV90YWdfdCBwYXJlbnRfZHRhZzsKIAlpbnQgZXJyb3IsIGk7CiAK LQlzYy0+aG5fdHhkZXNjX2NudCA9IEhOX1RYX0RFU0NfQ05UOwotCXNjLT5obl90eGRlc2MgPSBt YWxsb2Moc2l6ZW9mKHN0cnVjdCBobl90eGRlc2MpICogc2MtPmhuX3R4ZGVzY19jbnQsCisJdHhy LT5obl9zYyA9IHNjOworCisJbXR4X2luaXQoJnR4ci0+aG5fdHhsaXN0X3NwaW4sICJobiB0eGxp c3QiLCBOVUxMLCBNVFhfU1BJTik7CisJbXR4X2luaXQoJnR4ci0+aG5fdHhfbG9jaywgImhuIHR4 IiwgTlVMTCwgTVRYX0RFRik7CisKKwl0eHItPmhuX3R4ZGVzY19jbnQgPSBITl9UWF9ERVNDX0NO VDsKKwl0eHItPmhuX3R4ZGVzYyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGhuX3R4ZGVzYykgKiB0 eHItPmhuX3R4ZGVzY19jbnQsCiAJICAgIE1fTkVUVlNDLCBNX1dBSVRPSyB8IE1fWkVSTyk7Ci0J U0xJU1RfSU5JVCgmc2MtPmhuX3R4bGlzdCk7Ci0JbXR4X2luaXQoJnNjLT5obl90eGxpc3Rfc3Bp biwgImhuIHR4bGlzdCIsIE5VTEwsIE1UWF9TUElOKTsKKwlTTElTVF9JTklUKCZ0eHItPmhuX3R4 bGlzdCk7CisKKwl0eHItPmhuX3R4X3Rhc2txID0gc2MtPmhuX3R4X3Rhc2txOworCVRBU0tfSU5J VCgmdHhyLT5obl9zdGFydF90YXNrLCAwLCBobl9zdGFydF90YXNrZnVuYywgdHhyKTsKKwlUQVNL X0lOSVQoJnR4ci0+aG5fdHhlb2ZfdGFzaywgMCwgaG5fdHhlb2ZfdGFza2Z1bmMsIHR4cik7CisK Kwl0eHItPmhuX2RpcmVjdF90eF9zaXplID0gaG5fZGlyZWN0X3R4X3NpemU7CisJaWYgKGh2X3Zt YnVzX3Byb3RvY2FsX3ZlcnNpb24gPj0gSFZfVk1CVVNfVkVSU0lPTl9XSU44XzEpCisJCXR4ci0+ aG5fY3N1bV9hc3Npc3QgPSBITl9DU1VNX0FTU0lTVDsKKwllbHNlCisJCXR4ci0+aG5fY3N1bV9h c3Npc3QgPSBITl9DU1VNX0FTU0lTVF9XSU44OworCisJLyoKKwkgKiBBbHdheXMgc2NoZWR1bGUg dHJhbnNtaXNzaW9uIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGRvIGRpcmVjdAorCSAqIHRyYW5zbWlz c2lvbi4gIFRoaXMgb25lIGdpdmVzIHRoZSBiZXN0IHBlcmZvcm1hbmNlIHNvIGZhci4KKwkgKi8K Kwl0eHItPmhuX3NjaGVkX3R4ID0gMTsKIAogCXBhcmVudF9kdGFnID0gYnVzX2dldF9kbWFfdGFn KHNjLT5obl9kZXYpOwogCkBAIC0yMDQ1LDcgKzIwODcsNyBAQAogCSAgICAwLAkJCQkvKiBmbGFn cyAqLwogCSAgICBOVUxMLAkJCS8qIGxvY2tmdW5jICovCiAJICAgIE5VTEwsCQkJLyogbG9ja2Z1 bmNhcmcgKi8KLQkgICAgJnNjLT5obl90eF9ybmRpc19kdGFnKTsKKwkgICAgJnR4ci0+aG5fdHhf cm5kaXNfZHRhZyk7CiAJaWYgKGVycm9yKSB7CiAJCWRldmljZV9wcmludGYoc2MtPmhuX2Rldiwg ImZhaWxlZCB0byBjcmVhdGUgcm5kaXMgZG1hdGFnXG4iKTsKIAkJcmV0dXJuIGVycm9yOwpAQCAt MjA2NCwyMSArMjEwNiwyMSBAQAogCSAgICAwLAkJCQkvKiBmbGFncyAqLwogCSAgICBOVUxMLAkJ CS8qIGxvY2tmdW5jICovCiAJICAgIE5VTEwsCQkJLyogbG9ja2Z1bmNhcmcgKi8KLQkgICAgJnNj LT5obl90eF9kYXRhX2R0YWcpOworCSAgICAmdHhyLT5obl90eF9kYXRhX2R0YWcpOwogCWlmIChl cnJvcikgewogCQlkZXZpY2VfcHJpbnRmKHNjLT5obl9kZXYsICJmYWlsZWQgdG8gY3JlYXRlIGRh dGEgZG1hdGFnXG4iKTsKIAkJcmV0dXJuIGVycm9yOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBz Yy0+aG5fdHhkZXNjX2NudDsgKytpKSB7Ci0JCXN0cnVjdCBobl90eGRlc2MgKnR4ZCA9ICZzYy0+ aG5fdHhkZXNjW2ldOworCWZvciAoaSA9IDA7IGkgPCB0eHItPmhuX3R4ZGVzY19jbnQ7ICsraSkg eworCQlzdHJ1Y3QgaG5fdHhkZXNjICp0eGQgPSAmdHhyLT5obl90eGRlc2NbaV07CiAKLQkJdHhk LT5zYyA9IHNjOworCQl0eGQtPnR4ciA9IHR4cjsKIAogCQkvKgogCQkgKiBBbGxvY2F0ZSBhbmQg bG9hZCBSTkRJUyBtZXNzYWdlcy4KIAkJICovCi0gICAgICAgIAllcnJvciA9IGJ1c19kbWFtZW1f YWxsb2Moc2MtPmhuX3R4X3JuZGlzX2R0YWcsCisgICAgICAgIAllcnJvciA9IGJ1c19kbWFtZW1f YWxsb2ModHhyLT5obl90eF9ybmRpc19kdGFnLAogCQkgICAgKHZvaWQgKiopJnR4ZC0+cm5kaXNf bXNnLAogCQkgICAgQlVTX0RNQV9XQUlUT0sgfCBCVVNfRE1BX0NPSEVSRU5ULAogCQkgICAgJnR4 ZC0+cm5kaXNfbXNnX2RtYXApOwpAQCAtMjA4OCw4OCArMjEzMCwyMjkgQEAKIAkJCXJldHVybiBl cnJvcjsKIAkJfQogCi0JCWVycm9yID0gYnVzX2RtYW1hcF9sb2FkKHNjLT5obl90eF9ybmRpc19k dGFnLAorCQllcnJvciA9IGJ1c19kbWFtYXBfbG9hZCh0eHItPmhuX3R4X3JuZGlzX2R0YWcsCiAJ CSAgICB0eGQtPnJuZGlzX21zZ19kbWFwLAogCQkgICAgdHhkLT5ybmRpc19tc2csIEhOX1JORElT X01TR19MRU4sCiAJCSAgICBobl9kbWFfbWFwX3BhZGRyLCAmdHhkLT5ybmRpc19tc2dfcGFkZHIs CiAJCSAgICBCVVNfRE1BX05PV0FJVCk7CiAJCWlmIChlcnJvcikgewogCQkJZGV2aWNlX3ByaW50 ZihzYy0+aG5fZGV2LAogCQkJICAgICJmYWlsZWQgdG8gbG9hZCBybmRpc19tc2csICVkXG4iLCBp KTsKLQkJCWJ1c19kbWFtZW1fZnJlZShzYy0+aG5fdHhfcm5kaXNfZHRhZywKKwkJCWJ1c19kbWFt ZW1fZnJlZSh0eHItPmhuX3R4X3JuZGlzX2R0YWcsCiAJCQkgICAgdHhkLT5ybmRpc19tc2csIHR4 ZC0+cm5kaXNfbXNnX2RtYXApOwogCQkJcmV0dXJuIGVycm9yOwogCQl9CiAKIAkJLyogRE1BIG1h cCBmb3IgVFggZGF0YS4gKi8KLQkJZXJyb3IgPSBidXNfZG1hbWFwX2NyZWF0ZShzYy0+aG5fdHhf ZGF0YV9kdGFnLCAwLAorCQllcnJvciA9IGJ1c19kbWFtYXBfY3JlYXRlKHR4ci0+aG5fdHhfZGF0 YV9kdGFnLCAwLAogCQkgICAgJnR4ZC0+ZGF0YV9kbWFwKTsKIAkJaWYgKGVycm9yKSB7CiAJCQlk ZXZpY2VfcHJpbnRmKHNjLT5obl9kZXYsCiAJCQkgICAgImZhaWxlZCB0byBhbGxvY2F0ZSB0eCBk YXRhIGRtYW1hcFxuIik7Ci0JCQlidXNfZG1hbWFwX3VubG9hZChzYy0+aG5fdHhfcm5kaXNfZHRh ZywKKwkJCWJ1c19kbWFtYXBfdW5sb2FkKHR4ci0+aG5fdHhfcm5kaXNfZHRhZywKIAkJCSAgICB0 eGQtPnJuZGlzX21zZ19kbWFwKTsKLQkJCWJ1c19kbWFtZW1fZnJlZShzYy0+aG5fdHhfcm5kaXNf ZHRhZywKKwkJCWJ1c19kbWFtZW1fZnJlZSh0eHItPmhuX3R4X3JuZGlzX2R0YWcsCiAJCQkgICAg dHhkLT5ybmRpc19tc2csIHR4ZC0+cm5kaXNfbXNnX2RtYXApOwogCQkJcmV0dXJuIGVycm9yOwog CQl9CiAKIAkJLyogQWxsIHNldCwgcHV0IGl0IHRvIGxpc3QgKi8KIAkJdHhkLT5mbGFncyB8PSBI Tl9UWERfRkxBR19PTkxJU1Q7Ci0JCVNMSVNUX0lOU0VSVF9IRUFEKCZzYy0+aG5fdHhsaXN0LCB0 eGQsIGxpbmspOworCQlTTElTVF9JTlNFUlRfSEVBRCgmdHhyLT5obl90eGxpc3QsIHR4ZCwgbGlu ayk7CisJfQorCXR4ci0+aG5fdHhkZXNjX2F2YWlsID0gdHhyLT5obl90eGRlc2NfY250OworCisJ aWYgKHNjLT5obl90eF9zeXNjdGxfdHJlZSAhPSBOVUxMKSB7CisJCXN0cnVjdCBzeXNjdGxfb2lk X2xpc3QgKmNoaWxkOworCQlzdHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpjdHg7CisJCWNoYXIgbmFt ZVsxNl07CisKKwkJLyoKKwkJICogQ3JlYXRlIHBlciBUWCByaW5nIHN5c2N0bCB0cmVlOgorCQkg KiBkZXYuaG4uVU5JVC50eC5SSU5HSUQKKwkJICovCisJCWN0eCA9IGRldmljZV9nZXRfc3lzY3Rs X2N0eChzYy0+aG5fZGV2KTsKKwkJY2hpbGQgPSBTWVNDVExfQ0hJTERSRU4oc2MtPmhuX3R4X3N5 c2N0bF90cmVlKTsKKworCQlzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSksICIlZCIsIGlkKTsK KwkJdHhyLT5obl90eF9zeXNjdGxfdHJlZSA9IFNZU0NUTF9BRERfTk9ERShjdHgsIGNoaWxkLCBP SURfQVVUTywKKwkJICAgIG5hbWUsIENUTEZMQUdfUkQsIDAsICIiKTsKKworCQlpZiAodHhyLT5o bl90eF9zeXNjdGxfdHJlZSAhPSBOVUxMKSB7CisJCQljaGlsZCA9IFNZU0NUTF9DSElMRFJFTih0 eHItPmhuX3R4X3N5c2N0bF90cmVlKTsKKworCQkJU1lTQ1RMX0FERF9JTlQoY3R4LCBjaGlsZCwg T0lEX0FVVE8sICJ0eGRlc2NfYXZhaWwiLAorCQkJICAgIENUTEZMQUdfUkQsICZ0eHItPmhuX3R4 ZGVzY19hdmFpbCwgMCwKKwkJCSAgICAiIyBvZiBhdmFpbGFibGUgVFggZGVzY3MiKTsKKwkJfQog CX0KLQlzYy0+aG5fdHhkZXNjX2F2YWlsID0gc2MtPmhuX3R4ZGVzY19jbnQ7CiAKIAlyZXR1cm4g MDsKIH0KIAogc3RhdGljIHZvaWQKLWhuX2Rlc3Ryb3lfdHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMg KnNjKQoraG5fZGVzdHJveV90eF9yaW5nKHN0cnVjdCBobl90eF9yaW5nICp0eHIpCiB7CiAJc3Ry dWN0IGhuX3R4ZGVzYyAqdHhkOwogCi0Jd2hpbGUgKCh0eGQgPSBTTElTVF9GSVJTVCgmc2MtPmhu X3R4bGlzdCkpICE9IE5VTEwpIHsKKwlpZiAodHhyLT5obl90eGRlc2MgPT0gTlVMTCkKKwkJcmV0 dXJuOworCisJd2hpbGUgKCh0eGQgPSBTTElTVF9GSVJTVCgmdHhyLT5obl90eGxpc3QpKSAhPSBO VUxMKSB7CiAJCUtBU1NFUlQodHhkLT5tID09IE5VTEwsICgic3RpbGwgaGFzIG1idWYgaW5zdGFs bGVkIikpOwogCQlLQVNTRVJUKCh0eGQtPmZsYWdzICYgSE5fVFhEX0ZMQUdfRE1BTUFQKSA9PSAw LAogCQkgICAgKCJzdGlsbCBkbWEgbWFwcGVkIikpOwotCQlTTElTVF9SRU1PVkVfSEVBRCgmc2Mt PmhuX3R4bGlzdCwgbGluayk7CisJCVNMSVNUX1JFTU9WRV9IRUFEKCZ0eHItPmhuX3R4bGlzdCwg bGluayk7CiAKLQkJYnVzX2RtYW1hcF91bmxvYWQoc2MtPmhuX3R4X3JuZGlzX2R0YWcsCisJCWJ1 c19kbWFtYXBfdW5sb2FkKHR4ci0+aG5fdHhfcm5kaXNfZHRhZywKIAkJICAgIHR4ZC0+cm5kaXNf bXNnX2RtYXApOwotCQlidXNfZG1hbWVtX2ZyZWUoc2MtPmhuX3R4X3JuZGlzX2R0YWcsCisJCWJ1 c19kbWFtZW1fZnJlZSh0eHItPmhuX3R4X3JuZGlzX2R0YWcsCiAJCSAgICB0eGQtPnJuZGlzX21z ZywgdHhkLT5ybmRpc19tc2dfZG1hcCk7CiAKLQkJYnVzX2RtYW1hcF9kZXN0cm95KHNjLT5obl90 eF9kYXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwKTsKKwkJYnVzX2RtYW1hcF9kZXN0cm95KHR4ci0+ aG5fdHhfZGF0YV9kdGFnLCB0eGQtPmRhdGFfZG1hcCk7CisJfQorCisJaWYgKHR4ci0+aG5fdHhf ZGF0YV9kdGFnICE9IE5VTEwpCisJCWJ1c19kbWFfdGFnX2Rlc3Ryb3kodHhyLT5obl90eF9kYXRh X2R0YWcpOworCWlmICh0eHItPmhuX3R4X3JuZGlzX2R0YWcgIT0gTlVMTCkKKwkJYnVzX2RtYV90 YWdfZGVzdHJveSh0eHItPmhuX3R4X3JuZGlzX2R0YWcpOworCWZyZWUodHhyLT5obl90eGRlc2Ms IE1fTkVUVlNDKTsKKwl0eHItPmhuX3R4ZGVzYyA9IE5VTEw7CisKKwltdHhfZGVzdHJveSgmdHhy LT5obl90eGxpc3Rfc3Bpbik7CisJbXR4X2Rlc3Ryb3koJnR4ci0+aG5fdHhfbG9jayk7Cit9CisK K3N0YXRpYyBpbnQKK2huX2NyZWF0ZV90eF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAqc2MpCit7CisJ c3RydWN0IHN5c2N0bF9vaWRfbGlzdCAqY2hpbGQ7CisJc3RydWN0IHN5c2N0bF9jdHhfbGlzdCAq Y3R4OworCWludCBpOworCisJc2MtPmhuX3R4X3JpbmdfY250ID0gMTsgLyogVE9ETzogdlJTUyAq LworCXNjLT5obl90eF9yaW5nID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgaG5fdHhfcmluZykgKiBz Yy0+aG5fdHhfcmluZ19jbnQsCisJICAgIE1fTkVUVlNDLCBNX1dBSVRPSyB8IE1fWkVSTyk7CisK KwljdHggPSBkZXZpY2VfZ2V0X3N5c2N0bF9jdHgoc2MtPmhuX2Rldik7CisJY2hpbGQgPSBTWVND VExfQ0hJTERSRU4oZGV2aWNlX2dldF9zeXNjdGxfdHJlZShzYy0+aG5fZGV2KSk7CisKKwkvKiBD cmVhdGUgZGV2LmhuLlVOSVQudHggc3lzY3RsIHRyZWUgKi8KKwlzYy0+aG5fdHhfc3lzY3RsX3Ry ZWUgPSBTWVNDVExfQUREX05PREUoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eCIsCisJICAgIENU TEZMQUdfUkQsIDAsICIiKTsKKworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fdHhfcmluZ19jbnQ7 ICsraSkgeworCQlpbnQgZXJyb3I7CisKKwkJZXJyb3IgPSBobl9jcmVhdGVfdHhfcmluZyhzYywg aSk7CisJCWlmIChlcnJvcikKKwkJCXJldHVybiBlcnJvcjsKIAl9CiAKLQlpZiAoc2MtPmhuX3R4 X2RhdGFfZHRhZyAhPSBOVUxMKQotCQlidXNfZG1hX3RhZ19kZXN0cm95KHNjLT5obl90eF9kYXRh X2R0YWcpOwotCWlmIChzYy0+aG5fdHhfcm5kaXNfZHRhZyAhPSBOVUxMKQotCQlidXNfZG1hX3Rh Z19kZXN0cm95KHNjLT5obl90eF9ybmRpc19kdGFnKTsKLQlmcmVlKHNjLT5obl90eGRlc2MsIE1f TkVUVlNDKTsKLQltdHhfZGVzdHJveSgmc2MtPmhuX3R4bGlzdF9zcGluKTsKKwlTWVNDVExfQURE X1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJub190eGRlc2NzIiwKKwkgICAgQ1RMVFlQRV9V TE9ORyB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29mZnNldG9mKHN0cnVjdCBobl90eF9yaW5n LCBobl9ub190eGRlc2NzKSwKKwkgICAgaG5fdHhfc3RhdF91bG9uZ19zeXNjdGwsICJMVSIsICIj IG9mIHRpbWVzIHNob3J0IG9mIFRYIGRlc2NzIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAic2VuZF9mYWlsZWQiLAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxB R19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhuX3NlbmRfZmFp bGVkKSwKKwkgICAgaG5fdHhfc3RhdF91bG9uZ19zeXNjdGwsICJMVSIsICIjIG9mIGh5cGVyLXYg c2VuZGluZyBmYWlsdXJlIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRP LCAidHhkbWFfZmFpbGVkIiwKKwkgICAgQ1RMVFlQRV9VTE9ORyB8IENUTEZMQUdfUlcsIHNjLAor CSAgICBfX29mZnNldG9mKHN0cnVjdCBobl90eF9yaW5nLCBobl90eGRtYV9mYWlsZWQpLAorCSAg ICBobl90eF9zdGF0X3Vsb25nX3N5c2N0bCwgIkxVIiwgIiMgb2YgVFggRE1BIGZhaWx1cmUiKTsK KwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jb2xsYXBzZWQiLAor CSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yoc3Ry dWN0IGhuX3R4X3JpbmcsIGhuX3R4X2NvbGxhcHNlZCksCisJICAgIGhuX3R4X3N0YXRfdWxvbmdf c3lzY3RsLCAiTFUiLCAiIyBvZiBUWCBtYnVmIGNvbGxhcHNlZCIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4X2NoaW1uZXkiLAorCSAgICBDVExUWVBFX1VMT05H IHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhu X3R4X2NoaW1uZXkpLAorCSAgICBobl90eF9zdGF0X3Vsb25nX3N5c2N0bCwgIkxVIiwgIiMgb2Yg Y2hpbW5leSBzZW5kIik7CisJU1lTQ1RMX0FERF9JTlQoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0 eGRlc2NfY250IiwKKwkgICAgQ1RMRkxBR19SRCwgJnNjLT5obl90eF9yaW5nWzBdLmhuX3R4ZGVz Y19jbnQsIDAsCisJICAgICIjIG9mIHRvdGFsIFRYIGRlc2NzIik7CisJU1lTQ1RMX0FERF9JTlQo Y3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jaGltbmV5X21heCIsCisJICAgIENUTEZMQUdfUkQs ICZzYy0+aG5fdHhfY2hpbW5leV9tYXgsIDAsCisJICAgICJDaGltbmV5IHNlbmQgcGFja2V0IHNp emUgdXBwZXIgYm91bmRhcnkiKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FV VE8sICJ0eF9jaGltbmV5X3NpemUiLAorCSAgICBDVExUWVBFX0lOVCB8IENUTEZMQUdfUlcsIHNj LCAwLCBobl90eF9jaGltbmV5X3NpemVfc3lzY3RsLAorCSAgICAiSSIsICJDaGltbmV5IHNlbmQg cGFja2V0IHNpemUgbGltaXQiKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FV VE8sICJkaXJlY3RfdHhfc2l6ZSIsCisJICAgIENUTFRZUEVfSU5UIHwgQ1RMRkxBR19SVywgc2Ms CisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhuX2RpcmVjdF90eF9zaXplKSwK KwkgICAgaG5fdHhfY29uZl9pbnRfc3lzY3RsLCAiSSIsCisJICAgICJTaXplIG9mIHRoZSBwYWNr ZXQgZm9yIGRpcmVjdCB0cmFuc21pc3Npb24iKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGls ZCwgT0lEX0FVVE8sICJzY2hlZF90eCIsCisJICAgIENUTFRZUEVfSU5UIHwgQ1RMRkxBR19SVywg c2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhuX3NjaGVkX3R4KSwKKwkg ICAgaG5fdHhfY29uZl9pbnRfc3lzY3RsLCAiSSIsCisJICAgICJBbHdheXMgc2NoZWR1bGUgdHJh bnNtaXNzaW9uICIKKwkgICAgImluc3RlYWQgb2YgZG9pbmcgZGlyZWN0IHRyYW5zbWlzc2lvbiIp OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkCi1obl9zdGFydF90YXNrZnVuYyh2b2lk ICp4c2MsIGludCBwZW5kaW5nIF9fdW51c2VkKQoraG5fc2V0X3R4X2NoaW1uZXlfc2l6ZShzdHJ1 Y3QgaG5fc29mdGMgKnNjLCBpbnQgY2hpbW5leV9zaXplKQogewotCXN0cnVjdCBobl9zb2Z0YyAq c2MgPSB4c2M7CisJaW50IGk7CiAKIAlOVl9MT0NLKHNjKTsKLQlobl9zdGFydF9sb2NrZWQoc2Mt PmhuX2lmcCwgMCk7CisJZm9yIChpID0gMDsgaSA8IHNjLT5obl90eF9yaW5nX2NudDsgKytpKQor CQlzYy0+aG5fdHhfcmluZ1tpXS5obl90eF9jaGltbmV5X3NpemUgPSBjaGltbmV5X3NpemU7CiAJ TlZfVU5MT0NLKHNjKTsKIH0KIAogc3RhdGljIHZvaWQKLWhuX3R4ZW9mX3Rhc2tmdW5jKHZvaWQg KnhzYywgaW50IHBlbmRpbmcgX191bnVzZWQpCitobl9kZXN0cm95X3R4X2RhdGEoc3RydWN0IGhu X3NvZnRjICpzYykKIHsKLQlzdHJ1Y3QgaG5fc29mdGMgKnNjID0geHNjOwotCXN0cnVjdCBpZm5l dCAqaWZwID0gc2MtPmhuX2lmcDsKKwlpbnQgaTsKIAotCU5WX0xPQ0soc2MpOwotCWF0b21pY19j bGVhcl9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOwotCWhuX3N0YXJ0 X2xvY2tlZChpZnAsIDApOwotCU5WX1VOTE9DSyhzYyk7CisJaWYgKHNjLT5obl90eF9yaW5nX2Nu dCA9PSAwKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3R4X3JpbmdfY250 OyArK2kpCisJCWhuX2Rlc3Ryb3lfdHhfcmluZygmc2MtPmhuX3R4X3JpbmdbaV0pOworCisJZnJl ZShzYy0+aG5fdHhfcmluZywgTV9ORVRWU0MpOworCXNjLT5obl90eF9yaW5nID0gTlVMTDsKKwor CXNjLT5obl90eF9yaW5nX2NudCA9IDA7Cit9CisKK3N0YXRpYyB2b2lkCitobl9zdGFydF90YXNr ZnVuYyh2b2lkICp4dHhyLCBpbnQgcGVuZGluZyBfX3VudXNlZCkKK3sKKwlzdHJ1Y3QgaG5fdHhf cmluZyAqdHhyID0geHR4cjsKKworCW10eF9sb2NrKCZ0eHItPmhuX3R4X2xvY2spOworCWhuX3N0 YXJ0X2xvY2tlZCh0eHIsIDApOworCW10eF91bmxvY2soJnR4ci0+aG5fdHhfbG9jayk7Cit9CisK K3N0YXRpYyB2b2lkCitobl90eGVvZl90YXNrZnVuYyh2b2lkICp4dHhyLCBpbnQgcGVuZGluZyBf X3VudXNlZCkKK3sKKwlzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyID0geHR4cjsKKworCW10eF9sb2Nr KCZ0eHItPmhuX3R4X2xvY2spOworCWF0b21pY19jbGVhcl9pbnQoJnR4ci0+aG5fc2MtPmhuX2lm cC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOworCWhuX3N0YXJ0X2xvY2tlZCh0eHIs IDApOworCW10eF91bmxvY2soJnR4ci0+aG5fdHhfbG9jayk7Cit9CisKK3N0YXRpYyB2b2lkCito bl9zdG9wX3R4X3Rhc2tzKHN0cnVjdCBobl9zb2Z0YyAqc2MpCit7CisJaW50IGk7CisKKwlmb3Ig KGkgPSAwOyBpIDwgc2MtPmhuX3R4X3JpbmdfY250OyArK2kpIHsKKwkJc3RydWN0IGhuX3R4X3Jp bmcgKnR4ciA9ICZzYy0+aG5fdHhfcmluZ1tpXTsKKworCQl0YXNrcXVldWVfZHJhaW4odHhyLT5o bl90eF90YXNrcSwgJnR4ci0+aG5fc3RhcnRfdGFzayk7CisJCXRhc2txdWV1ZV9kcmFpbih0eHIt PmhuX3R4X3Rhc2txLCAmdHhyLT5obl90eGVvZl90YXNrKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lk CmRpZmYgLS1naXQgYS9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaAotLS0gYS9zeXMvZGV2L2h5cGVydi9uZXR2c2Mv aHZfbmV0X3ZzYy5oCisrKyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKQEAg LTEwMTEsNiArMTAxMSwzOCBAQAogI2RlZmluZSBITl9UUlVTVF9IQ1NVTV9UQ1AJMHgwMDAyCiAj ZGVmaW5lIEhOX1RSVVNUX0hDU1VNX1VEUAkweDAwMDQKIAorc3RydWN0IGhuX3R4X3Jpbmcgewor CXN0cnVjdCBtdHgJaG5fdHhsaXN0X3NwaW47CisJc3RydWN0IGhuX3R4ZGVzY19saXN0IGhuX3R4 bGlzdDsKKwlpbnQJCWhuX3R4ZGVzY19jbnQ7CisJaW50CQlobl90eGRlc2NfYXZhaWw7CisJaW50 CQlobl90eGVvZjsKKworCWludAkJaG5fc2NoZWRfdHg7CisJc3RydWN0IHRhc2txdWV1ZSAqaG5f dHhfdGFza3E7CisJc3RydWN0IHRhc2sJaG5fc3RhcnRfdGFzazsKKwlzdHJ1Y3QgdGFzawlobl90 eGVvZl90YXNrOworCisJc3RydWN0IG10eAlobl90eF9sb2NrOworCXN0cnVjdCBobl9zb2Z0Ywkq aG5fc2M7CisKKwlpbnQJCWhuX2RpcmVjdF90eF9zaXplOworCWludAkJaG5fdHhfY2hpbW5leV9z aXplOworCWJ1c19kbWFfdGFnX3QJaG5fdHhfZGF0YV9kdGFnOworCXVpbnQ2NF90CWhuX2NzdW1f YXNzaXN0OworCisJdV9sb25nCQlobl9ub190eGRlc2NzOworCXVfbG9uZwkJaG5fc2VuZF9mYWls ZWQ7CisJdV9sb25nCQlobl90eGRtYV9mYWlsZWQ7CisJdV9sb25nCQlobl90eF9jb2xsYXBzZWQ7 CisJdV9sb25nCQlobl90eF9jaGltbmV5OworCisJLyogUmFyZWx5IHVzZWQgc3R1ZmZzICovCisJ c3RydWN0IGhuX3R4ZGVzYyAqaG5fdHhkZXNjOworCWJ1c19kbWFfdGFnX3QJaG5fdHhfcm5kaXNf ZHRhZzsKKwlzdHJ1Y3Qgc3lzY3RsX29pZCAqaG5fdHhfc3lzY3RsX3RyZWU7Cit9IF9fYWxpZ25l ZChDQUNIRV9MSU5FX1NJWkUpOworCiAvKgogICogRGV2aWNlLXNwZWNpZmljIHNvZnRjIHN0cnVj dHVyZQogICovCkBAIC0xMDI4LDMzICsxMDYwLDE0IEBACiAJc3RydWN0IGh2X2RldmljZSAgKmhu X2Rldl9vYmo7CiAJbmV0dnNjX2RldiAgCSpuZXRfZGV2OwogCi0Jc3RydWN0IGhuX3R4ZGVzYyAq aG5fdHhkZXNjOwotCWJ1c19kbWFfdGFnX3QJaG5fdHhfZGF0YV9kdGFnOwotCWJ1c19kbWFfdGFn X3QJaG5fdHhfcm5kaXNfZHRhZzsKLQlpbnQJCWhuX3R4X2NoaW1uZXlfc2l6ZTsKLQlpbnQJCWhu X3R4X2NoaW1uZXlfbWF4OwotCXVpbnQ2NF90CWhuX2NzdW1fYXNzaXN0OwotCi0Jc3RydWN0IG10 eAlobl90eGxpc3Rfc3BpbjsKLQlzdHJ1Y3QgaG5fdHhkZXNjX2xpc3QgaG5fdHhsaXN0OwotCWlu dAkJaG5fdHhkZXNjX2NudDsKLQlpbnQJCWhuX3R4ZGVzY19hdmFpbDsKLQlpbnQJCWhuX3R4ZW9m OwotCi0JaW50CQlobl9zY2hlZF90eDsKLQlpbnQJCWhuX2RpcmVjdF90eF9zaXplOwotCXN0cnVj dCB0YXNrcXVldWUgKmhuX3R4X3Rhc2txOwotCXN0cnVjdCB0YXNrCWhuX3N0YXJ0X3Rhc2s7Ci0J c3RydWN0IHRhc2sJaG5fdHhlb2ZfdGFzazsKLQogCWludAkJaG5fcnhfcmluZ19jbnQ7CiAJc3Ry dWN0IGhuX3J4X3JpbmcgKmhuX3J4X3Jpbmc7CiAKLQl1X2xvbmcJCWhuX25vX3R4ZGVzY3M7Ci0J dV9sb25nCQlobl9zZW5kX2ZhaWxlZDsKLQl1X2xvbmcJCWhuX3R4ZG1hX2ZhaWxlZDsKLQl1X2xv bmcJCWhuX3R4X2NvbGxhcHNlZDsKLQl1X2xvbmcJCWhuX3R4X2NoaW1uZXk7CisJaW50CQlobl90 eF9yaW5nX2NudDsKKwlzdHJ1Y3QgaG5fdHhfcmluZyAqaG5fdHhfcmluZzsKKwlpbnQJCWhuX3R4 X2NoaW1uZXlfbWF4OworCXN0cnVjdCB0YXNrcXVldWUgKmhuX3R4X3Rhc2txOworCXN0cnVjdCBz eXNjdGxfb2lkICpobl90eF9zeXNjdGxfdHJlZTsKIH0gaG5fc29mdGNfdDsKIAogLyoKCg== --b1_5d6f8634362bfdafd016edea8053a36e-- From owner-freebsd-virtualization@freebsd.org Tue Feb 16 02:27:47 2016 Return-Path: Delivered-To: freebsd-virtualization@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 E771CAA9167 for ; Tue, 16 Feb 2016 02:27:47 +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 D4C2F1628 for ; Tue, 16 Feb 2016 02:27:47 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id D276F332060D; Tue, 16 Feb 2016 02:27:47 +0000 (UTC) Date: Tue, 16 Feb 2016 02:27:47 +0000 To: freebsd-virtualization@freebsd.org From: "honzhan_microsoft.com (hongjiangzhang)" Reply-to: D5274+333+9ea095979011f33b@reviews.freebsd.org Subject: [Differential] [Accepted] D5274: hyperv/hn: Change global tunable prefix to hw.hn Message-ID: <2f2b4a1ce680fdfa173cc78ea47f1b36@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: D5274: hyperv/hn: Change global tunable prefix to hw.hn 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 In-Reply-To: References: Thread-Index: MWFhYmZkMDZkODQzOGI1NjgyOWFlNTAzNzIwIFbCiSM= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-Mailman-Approved-At: Tue, 16 Feb 2016 03:47:41 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 02:27:48 -0000 honzhan_microsoft.com accepted this revision. honzhan_microsoft.com added a comment. This revision has a positive review. LGTM REVISION DETAIL https://reviews.freebsd.org/D5274 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, network, adrian, delphij, royger, decui_microsoft.com, howard0su_gmail.com, honzhan_microsoft.com Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Tue Feb 16 05:33:37 2016 Return-Path: Delivered-To: freebsd-virtualization@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 0AF83AAAF97 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 EB53F1D4E 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 E7A623320819; Tue, 16 Feb 2016 05:33:36 +0000 (UTC) Date: Tue, 16 Feb 2016 05:33:36 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5290+333+25c261f1166ad90e@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_339a7b82011537c0d89d064181766589" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 05:33:37 -0000 --b1_339a7b82011537c0d89d064181766589 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_339a7b82011537c0d89d064181766589 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_339a7b82011537c0d89d064181766589-- From owner-freebsd-virtualization@freebsd.org Tue Feb 16 06:57:30 2016 Return-Path: Delivered-To: freebsd-virtualization@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 8B98DAA902F for ; Tue, 16 Feb 2016 06:57:30 +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 776771CF6 for ; Tue, 16 Feb 2016 06:57:30 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 6FFB73320050; Tue, 16 Feb 2016 06:57:30 +0000 (UTC) Date: Tue, 16 Feb 2016 06:57:30 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5291+333+9e687f0ec04aca99@reviews.freebsd.org Subject: [Differential] [Request, 10 lines] D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors 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: D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors 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-Cc: Precedence: bulk Thread-Index: M2VhMjA1ZWQ4ODNjZTIxMmJiYjJmZGJiYWNk MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_14f3b7eff087f610780eba0cb39fefd3" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 06:57:30 -0000 --b1_14f3b7eff087f610780eba0cb39fefd3 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit sepherosa_gmail.com created this revision. sepherosa_gmail.com added reviewers: adrian, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com. sepherosa_gmail.com added a subscriber: freebsd-virtualization-list. REVISION SUMMARY Better and simple solution is to do the same things as XEN'a EVTCHN, but that will require us to have a hyperv specific file always reside in kernel. Inspired by a discussion w/ Dexuan REVISION DETAIL https://reviews.freebsd.org/D5291 AFFECTED FILES sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c b/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c --- a/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c +++ b/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c @@ -382,8 +382,12 @@ #ifdef HYPERV extern inthand_t IDTVEC(rsvd), IDTVEC(hv_vmbus_callback); +#define VMBUS_IDT_START IDT_DTRACE_RET +#define VMBUS_IDT_END APIC_TIMER_INT + /** * @brief Find a free IDT slot and setup the interrupt handler. + * range: (VMBUS_IDT_START, VMBUS_IDT_END) */ static int vmbus_vector_alloc(void) @@ -397,8 +401,8 @@ * as vmbus channel callback vector. We install 'hv_vmbus_callback' * handler at that vector and use it to interrupt vcpus. */ - vector = APIC_SPURIOUS_INT; - while (--vector >= APIC_IPI_INTS) { + vector = VMBUS_IDT_END; + while (--vector > VMBUS_IDT_START) { ip = &idt[vector]; func = ((long)ip->gd_hioffset << 16 | ip->gd_looffset); if (func == (uintptr_t)&IDTVEC(rsvd)) { @@ -428,7 +432,7 @@ if (vector == 0) return; - KASSERT(vector >= APIC_IPI_INTS && vector < APIC_SPURIOUS_INT, + KASSERT(vector > VMBUS_IDT_START && vector < VMBUS_IDT_END, ("invalid vector %d", vector)); ip = &idt[vector]; EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, adrian, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com Cc: freebsd-virtualization-list --b1_14f3b7eff087f610780eba0cb39fefd3 Content-Type: text/x-patch; charset=utf-8; name="D5291.13341.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5291.13341.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L3ZtYnVzL2h2X3ZtYnVzX2Rydl9mcmVlYnNkLmMg Yi9zeXMvZGV2L2h5cGVydi92bWJ1cy9odl92bWJ1c19kcnZfZnJlZWJzZC5jCi0tLSBhL3N5cy9k ZXYvaHlwZXJ2L3ZtYnVzL2h2X3ZtYnVzX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rldi9oeXBl cnYvdm1idXMvaHZfdm1idXNfZHJ2X2ZyZWVic2QuYwpAQCAtMzgyLDggKzM4MiwxMiBAQAogI2lm ZGVmIEhZUEVSVgogZXh0ZXJuIGludGhhbmRfdCBJRFRWRUMocnN2ZCksIElEVFZFQyhodl92bWJ1 c19jYWxsYmFjayk7CiAKKyNkZWZpbmUgVk1CVVNfSURUX1NUQVJUCUlEVF9EVFJBQ0VfUkVUIAor I2RlZmluZSBWTUJVU19JRFRfRU5ECUFQSUNfVElNRVJfSU5UCisKIC8qKgogICogQGJyaWVmIEZp bmQgYSBmcmVlIElEVCBzbG90IGFuZCBzZXR1cCB0aGUgaW50ZXJydXB0IGhhbmRsZXIuCisgKiBy YW5nZTogKFZNQlVTX0lEVF9TVEFSVCwgVk1CVVNfSURUX0VORCkKICAqLwogc3RhdGljIGludAog dm1idXNfdmVjdG9yX2FsbG9jKHZvaWQpCkBAIC0zOTcsOCArNDAxLDggQEAKIAkgKiBhcyB2bWJ1 cyBjaGFubmVsIGNhbGxiYWNrIHZlY3Rvci4gV2UgaW5zdGFsbCAnaHZfdm1idXNfY2FsbGJhY2sn CiAJICogaGFuZGxlciBhdCB0aGF0IHZlY3RvciBhbmQgdXNlIGl0IHRvIGludGVycnVwdCB2Y3B1 cy4KIAkgKi8KLQl2ZWN0b3IgPSBBUElDX1NQVVJJT1VTX0lOVDsKLQl3aGlsZSAoLS12ZWN0b3Ig Pj0gQVBJQ19JUElfSU5UUykgeworCXZlY3RvciA9IFZNQlVTX0lEVF9FTkQ7CisJd2hpbGUgKC0t dmVjdG9yID4gVk1CVVNfSURUX1NUQVJUKSB7CiAJCWlwID0gJmlkdFt2ZWN0b3JdOwogCQlmdW5j ID0gKChsb25nKWlwLT5nZF9oaW9mZnNldCA8PCAxNiB8IGlwLT5nZF9sb29mZnNldCk7CiAJCWlm IChmdW5jID09ICh1aW50cHRyX3QpJklEVFZFQyhyc3ZkKSkgewpAQCAtNDI4LDcgKzQzMiw3IEBA CiAJaWYgKHZlY3RvciA9PSAwKQogCQlyZXR1cm47CiAKLSAgICAgICAgS0FTU0VSVCh2ZWN0b3Ig Pj0gQVBJQ19JUElfSU5UUyAmJiB2ZWN0b3IgPCBBUElDX1NQVVJJT1VTX0lOVCwKKyAgICAgICAg S0FTU0VSVCh2ZWN0b3IgPiBWTUJVU19JRFRfU1RBUlQgJiYgdmVjdG9yIDwgVk1CVVNfSURUX0VO RCwKICAgICAgICAgICAgICgiaW52YWxpZCB2ZWN0b3IgJWQiLCB2ZWN0b3IpKTsKIAogICAgICAg ICBpcCA9ICZpZHRbdmVjdG9yXTsKCg== --b1_14f3b7eff087f610780eba0cb39fefd3-- From owner-freebsd-virtualization@freebsd.org Tue Feb 16 09:15:07 2016 Return-Path: Delivered-To: freebsd-virtualization@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 D9869AA87A6 for ; Tue, 16 Feb 2016 09:15:07 +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 C61131F74 for ; Tue, 16 Feb 2016 09:15:07 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id BF8903320C73; Tue, 16 Feb 2016 09:15:07 +0000 (UTC) Date: Tue, 16 Feb 2016 09:15:07 +0000 To: freebsd-virtualization@freebsd.org From: =?utf-8?Q?royger_=28Roger_Pau_Monn=C3=A9=29?= Reply-to: D5291+333+9e687f0ec04aca99@reviews.freebsd.org Subject: [Differential] [Updated] D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors 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: D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors 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-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: M2VhMjA1ZWQ4ODNjZTIxMmJiYjJmZGJiYWNkIFbC6Js= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 09:15:07 -0000 royger added a comment. I guess this supersedes https://reviews.freebsd.org/D5254? I would expand the commit message so that it's explicitly stated why the hypervisor vector should have a lower priority. REVISION DETAIL https://reviews.freebsd.org/D5291 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, adrian, delphij, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, royger Cc: freebsd-virtualization-list From owner-freebsd-virtualization@freebsd.org Tue Feb 16 09:29:18 2016 Return-Path: Delivered-To: freebsd-virtualization@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 0E692AA8EC9 for ; Tue, 16 Feb 2016 09:29:18 +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 EF72A17E7 for ; Tue, 16 Feb 2016 09:29:17 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id E8B4E33205D8; Tue, 16 Feb 2016 09:29:17 +0000 (UTC) Date: Tue, 16 Feb 2016 09:29:17 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5291+333+9e687f0ec04aca99@reviews.freebsd.org Subject: [Differential] [Commented On] D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors Message-ID: <1942fc746b0d3c4587eb14513aec167c@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: D5291: hyperv/vmbus: Select an IDT vector has lower priority than LAPIC timer and IPIs vectors 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-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: M2VhMjA1ZWQ4ODNjZTIxMmJiYjJmZGJiYWNkIFbC6+0= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2016 09:29:18 -0000 sepherosa_gmail.com added a comment. In https://reviews.freebsd.org/D5291#112900, @royger wrote: > I guess this supersedes https://reviews.freebsd.org/D5254? I would expand the commit message so that it's explicitly stated why the hypervisor vector should have a lower priority. Oh, I didn't see 5254 at all, thank you for pointing it to me :) hyperv interrupt currently only services so called 'external devices' (it's event timer is not yet used; even if it was used, it would be serviced by the same IDT vector, so vector priority would not matter). So we don't want to delay LAPIC timer interrupt or IPIs, if all three types of interrupt happens at the same time. Its just a POC same as 5254, which is also a POC IMHO, what we really need is to have a hyperv file reside in kernel and we will need to change native_lapic_create() in the same way as XEN. Well, I think its probably high time to add a hyperv file to always reside in kernel, since we have a TSC calibration fix will need that too. REVISION DETAIL https://reviews.freebsd.org/D5291 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, adrian, delphij, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, royger Cc: freebsd-virtualization-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:13:18 2016 Return-Path: Delivered-To: freebsd-virtualization@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 3339FAAB847 for ; Wed, 17 Feb 2016 19:13:18 +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 20D0812D1 for ; Wed, 17 Feb 2016 19:13:18 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 1D6573321CC0; Wed, 17 Feb 2016 19:13:18 +0000 (UTC) Date: Wed, 17 Feb 2016 19:13:18 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5282+333+bde49f8f80ca0f1f@reviews.freebsd.org Subject: [Differential] [Accepted] D5282: hyperv/hn: Use non-fast taskqueue for transmission 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: D5282: hyperv/hn: Use non-fast taskqueue for transmission 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 In-Reply-To: References: Thread-Index: MTA0OWYzZmY5Yjk5MjNmYjE3MzdmZmI1ZDFjIFbExk4= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:13:18 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5282 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:13:57 2016 Return-Path: Delivered-To: freebsd-virtualization@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 286C4AAB8FC for ; Wed, 17 Feb 2016 19:13:57 +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 16066143A for ; Wed, 17 Feb 2016 19:13:57 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 12A653321D2A; Wed, 17 Feb 2016 19:13:57 +0000 (UTC) Date: Wed, 17 Feb 2016 19:13:57 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5283+333+c52ee0049dc2f53f@reviews.freebsd.org Subject: [Differential] [Accepted] D5283: hyperv/hn: Split TX ring data structure out of softc Message-ID: <259937b2a57a07f428b3728b702ac44f@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: D5283: hyperv/hn: Split TX ring data structure out of softc 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 In-Reply-To: References: Thread-Index: NzMzOGZkYjcxOGQ0MjYzYmE0NWE0Nzc3NTExIFbExnU= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:13:57 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5283 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:15:03 2016 Return-Path: Delivered-To: freebsd-virtualization@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 089A4AABA59 for ; Wed, 17 Feb 2016 19:15:03 +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 E882515DA for ; Wed, 17 Feb 2016 19:15:02 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id E1BFA3321E29; Wed, 17 Feb 2016 19:15:02 +0000 (UTC) Date: Wed, 17 Feb 2016 19:15:02 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5185+333+b2354430ad09b93f@reviews.freebsd.org Subject: [Differential] [Accepted] D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit Message-ID: <8447c23b209e073c879b1f31e5ea71c7@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: D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit 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-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: NTU0NmM0Mjk2NjdmNzVhNmM3MzlkMWQyNTdmIFbExrY= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:15:03 -0000 adrian accepted this revision. REVISION DETAIL https://reviews.freebsd.org/D5185 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, np, transport, hselasky, gallatin, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:15:18 2016 Return-Path: Delivered-To: freebsd-virtualization@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 2BE07AABB00 for ; Wed, 17 Feb 2016 19:15:18 +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 1A13617B1 for ; Wed, 17 Feb 2016 19:15:18 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 182EC3321EEB; Wed, 17 Feb 2016 19:15:18 +0000 (UTC) Date: Wed, 17 Feb 2016 19:15:18 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5272+333+f432600ef7536763@reviews.freebsd.org Subject: [Differential] [Accepted] D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances 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: D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances 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 In-Reply-To: References: Thread-Index: ZDMwMGVlOTEyMjMxYzQ3NmRmOTRjNmZlNjNhIFbExsY= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:15:18 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5272 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:15:27 2016 Return-Path: Delivered-To: freebsd-virtualization@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 D70E4AABB50 for ; Wed, 17 Feb 2016 19:15:27 +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 C52EA1937 for ; Wed, 17 Feb 2016 19:15:27 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id C34883321F21; Wed, 17 Feb 2016 19:15:27 +0000 (UTC) Date: Wed, 17 Feb 2016 19:15:27 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5273+333+011061944716eb47@reviews.freebsd.org Subject: [Differential] [Accepted] D5273: hyperv/hn: Always do transmission scheduling. 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: D5273: hyperv/hn: Always do transmission scheduling. 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 In-Reply-To: References: Thread-Index: NjBlMTZiZTJjNDkyNWRhNTA0YmJkYWZhYmIxIFbExs8= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:15:27 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5273 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:15:39 2016 Return-Path: Delivered-To: freebsd-virtualization@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 71ECDAABBFA for ; Wed, 17 Feb 2016 19:15:39 +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 5F78B1A48 for ; Wed, 17 Feb 2016 19:15:39 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 581DA3321F5D; Wed, 17 Feb 2016 19:15:39 +0000 (UTC) Date: Wed, 17 Feb 2016 19:15:39 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5274+333+9ea095979011f33b@reviews.freebsd.org Subject: [Differential] [Accepted] D5274: hyperv/hn: Change global tunable prefix to hw.hn 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: D5274: hyperv/hn: Change global tunable prefix to hw.hn 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 In-Reply-To: References: Thread-Index: MWFhYmZkMDZkODQzOGI1NjgyOWFlNTAzNzIwIFbExts= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:15:39 -0000 adrian accepted this revision. REVISION DETAIL https://reviews.freebsd.org/D5274 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, howard0su_gmail.com, honzhan_microsoft.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:16:01 2016 Return-Path: Delivered-To: freebsd-virtualization@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 5F558AABCB4 for ; Wed, 17 Feb 2016 19:16:01 +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 4D1DC1CD2 for ; Wed, 17 Feb 2016 19:16:01 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 49DDA3321FAA; Wed, 17 Feb 2016 19:16:01 +0000 (UTC) Date: Wed, 17 Feb 2016 19:16:01 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5275+333+864504ab3c6c1bfb@reviews.freebsd.org Subject: [Differential] [Accepted] D5275: hyperv/hn: Split RX ring data structure out of softc 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: D5275: hyperv/hn: Split RX ring data structure out of softc 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 In-Reply-To: References: Thread-Index: YjcyNDdhYWMyM2I2MDliMDQ0MmIxOWZkYTEzIFbExvE= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:16:01 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5275 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:16:09 2016 Return-Path: Delivered-To: freebsd-virtualization@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 8A708AABD1A for ; Wed, 17 Feb 2016 19:16:09 +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 6E8E31E4C for ; Wed, 17 Feb 2016 19:16:09 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 68D633321FE5; Wed, 17 Feb 2016 19:16:09 +0000 (UTC) Date: Wed, 17 Feb 2016 19:16:09 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5276+333+0427790033fcd928@reviews.freebsd.org Subject: [Differential] [Accepted] D5276: hyperv/hn: Use taskqueue_enqueue() Message-ID: <8bde2a7d3885cc08d538ddbe6c34dff5@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: D5276: hyperv/hn: Use taskqueue_enqueue() 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 In-Reply-To: References: Thread-Index: MzI0MTg0N2Y0NTM5MGMyZDRiNmVhNmJlNmE2IFbExvk= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:16:09 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5276 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Wed Feb 17 19:16:34 2016 Return-Path: Delivered-To: freebsd-virtualization@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 B16B1AABDD6 for ; Wed, 17 Feb 2016 19:16:34 +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 9E6591FCB for ; Wed, 17 Feb 2016 19:16:34 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 9C0ED3321038; Wed, 17 Feb 2016 19:16:34 +0000 (UTC) Date: Wed, 17 Feb 2016 19:16:34 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5290+333+25c261f1166ad90e@reviews.freebsd.org Subject: [Differential] [Accepted] D5290: hyperv/hn: Use buf_ring for txdesc list Message-ID: <2ca2a1b12ecb695abd6bb1a5c9c984e9@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: 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 In-Reply-To: References: Thread-Index: OTExNDkzMzlmNjhmMjIyNzRkZmU3MzcwM2U5IFbExxI= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2016 19:16:34 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5290 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Thu Feb 18 04:59:00 2016 Return-Path: Delivered-To: freebsd-virtualization@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 C6155AAC883 for ; Thu, 18 Feb 2016 04:59:00 +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 AECAC13C7 for ; Thu, 18 Feb 2016 04:59:00 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id A7B6C3321FF8; Thu, 18 Feb 2016 04:59:00 +0000 (UTC) Date: Thu, 18 Feb 2016 04:59:00 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5185+333+b2354430ad09b93f@reviews.freebsd.org Subject: [Differential] [Closed] D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit 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: D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit 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-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: NTU0NmM0Mjk2NjdmNzVhNmM3MzlkMWQyNTdmIFbFT5Q= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_e7e8a43bd1e1132201af44f2d807a4da" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 04:59:00 -0000 --b1_e7e8a43bd1e1132201af44f2d807a4da Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295739: tcp/lro: Allow drivers to set the TCP ACK/data segment aggregation limit (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5185?vs=13282&id=13397#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5185?vs=13282&id=13397 REVISION DETAIL https://reviews.freebsd.org/D5185 AFFECTED FILES head/sys/netinet/tcp_lro.c head/sys/netinet/tcp_lro.h head/sys/sys/param.h CHANGE DETAILS diff --git a/head/sys/sys/param.h b/head/sys/sys/param.h --- a/head/sys/sys/param.h +++ b/head/sys/sys/param.h @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100098 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100099 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, diff --git a/head/sys/netinet/tcp_lro.h b/head/sys/netinet/tcp_lro.h --- a/head/sys/netinet/tcp_lro.h +++ b/head/sys/netinet/tcp_lro.h @@ -91,11 +91,16 @@ unsigned lro_cnt; unsigned lro_mbuf_count; unsigned lro_mbuf_max; + unsigned short lro_ackcnt_lim; /* max # of aggregated ACKs */ + unsigned lro_length_lim; /* max len of aggregated data */ struct lro_head lro_active; struct lro_head lro_free; }; +#define TCP_LRO_LENGTH_MAX 65535 +#define TCP_LRO_ACKCNT_MAX 65535 /* unlimited */ + int tcp_lro_init(struct lro_ctrl *); int tcp_lro_init_args(struct lro_ctrl *, struct ifnet *, unsigned, unsigned); void tcp_lro_free(struct lro_ctrl *); diff --git a/head/sys/netinet/tcp_lro.c b/head/sys/netinet/tcp_lro.c --- a/head/sys/netinet/tcp_lro.c +++ b/head/sys/netinet/tcp_lro.c @@ -88,6 +88,8 @@ lc->lro_mbuf_count = 0; lc->lro_mbuf_max = lro_mbufs; lc->lro_cnt = lro_entries; + lc->lro_ackcnt_lim = TCP_LRO_ACKCNT_MAX; + lc->lro_length_lim = TCP_LRO_LENGTH_MAX; lc->ifp = ifp; SLIST_INIT(&lc->lro_free); SLIST_INIT(&lc->lro_active); @@ -610,7 +612,7 @@ } /* Flush now if appending will result in overflow. */ - if (le->p_len > (65535 - tcp_data_len)) { + if (le->p_len > (lc->lro_length_lim - tcp_data_len)) { SLIST_REMOVE(&lc->lro_active, le, lro_entry, next); tcp_lro_flush(lc, le); break; @@ -648,6 +650,15 @@ if (tcp_data_len == 0) { m_freem(m); + /* + * Flush this LRO entry, if this ACK should not + * be further delayed. + */ + if (le->append_cnt >= lc->lro_ackcnt_lim) { + SLIST_REMOVE(&lc->lro_active, le, lro_entry, + next); + tcp_lro_flush(lc, le); + } return (0); } @@ -668,7 +679,7 @@ * If a possible next full length packet would cause an * overflow, pro-actively flush now. */ - if (le->p_len > (65535 - lc->ifp->if_mtu)) { + if (le->p_len > (lc->lro_length_lim - lc->ifp->if_mtu)) { SLIST_REMOVE(&lc->lro_active, le, lro_entry, next); tcp_lro_flush(lc, le); } else EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, np, transport, hselasky, gallatin, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_e7e8a43bd1e1132201af44f2d807a4da Content-Type: text/x-patch; charset=utf-8; name="D5185.13397.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5185.13397.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL3N5cy9wYXJhbS5oIGIvaGVhZC9zeXMvc3lzL3BhcmFtLmgK LS0tIGEvaGVhZC9zeXMvc3lzL3BhcmFtLmgKKysrIGIvaGVhZC9zeXMvc3lzL3BhcmFtLmgKQEAg LTU4LDcgKzU4LDcgQEAKICAqCQlpbiB0aGUgcmFuZ2UgNSB0byA5LgogICovCiAjdW5kZWYgX19G cmVlQlNEX3ZlcnNpb24KLSNkZWZpbmUgX19GcmVlQlNEX3ZlcnNpb24gMTEwMDA5OAkvKiBNYXN0 ZXIsIHByb3BhZ2F0ZWQgdG8gbmV3dmVycyAqLworI2RlZmluZSBfX0ZyZWVCU0RfdmVyc2lvbiAx MTAwMDk5CS8qIE1hc3RlciwgcHJvcGFnYXRlZCB0byBuZXd2ZXJzICovCiAKIC8qCiAgKiBfX0Zy ZWVCU0Rfa2VybmVsX18gaW5kaWNhdGVzIHRoYXQgdGhpcyBzeXN0ZW0gdXNlcyB0aGUga2VybmVs IG9mIEZyZWVCU0QsCmRpZmYgLS1naXQgYS9oZWFkL3N5cy9uZXRpbmV0L3RjcF9scm8uaCBiL2hl YWQvc3lzL25ldGluZXQvdGNwX2xyby5oCi0tLSBhL2hlYWQvc3lzL25ldGluZXQvdGNwX2xyby5o CisrKyBiL2hlYWQvc3lzL25ldGluZXQvdGNwX2xyby5oCkBAIC05MSwxMSArOTEsMTYgQEAKIAl1 bnNpZ25lZAlscm9fY250OwogCXVuc2lnbmVkCWxyb19tYnVmX2NvdW50OwogCXVuc2lnbmVkCWxy b19tYnVmX21heDsKKwl1bnNpZ25lZCBzaG9ydAlscm9fYWNrY250X2xpbTsJCS8qIG1heCAjIG9m IGFnZ3JlZ2F0ZWQgQUNLcyAqLworCXVuc2lnbmVkIAlscm9fbGVuZ3RoX2xpbTsJCS8qIG1heCBs ZW4gb2YgYWdncmVnYXRlZCBkYXRhICovCiAKIAlzdHJ1Y3QgbHJvX2hlYWQJbHJvX2FjdGl2ZTsK IAlzdHJ1Y3QgbHJvX2hlYWQJbHJvX2ZyZWU7CiB9OwogCisjZGVmaW5lCVRDUF9MUk9fTEVOR1RI X01BWAk2NTUzNQorI2RlZmluZQlUQ1BfTFJPX0FDS0NOVF9NQVgJNjU1MzUJCS8qIHVubGltaXRl ZCAqLworCiBpbnQgdGNwX2xyb19pbml0KHN0cnVjdCBscm9fY3RybCAqKTsKIGludCB0Y3BfbHJv X2luaXRfYXJncyhzdHJ1Y3QgbHJvX2N0cmwgKiwgc3RydWN0IGlmbmV0ICosIHVuc2lnbmVkLCB1 bnNpZ25lZCk7CiB2b2lkIHRjcF9scm9fZnJlZShzdHJ1Y3QgbHJvX2N0cmwgKik7CmRpZmYgLS1n aXQgYS9oZWFkL3N5cy9uZXRpbmV0L3RjcF9scm8uYyBiL2hlYWQvc3lzL25ldGluZXQvdGNwX2xy by5jCi0tLSBhL2hlYWQvc3lzL25ldGluZXQvdGNwX2xyby5jCisrKyBiL2hlYWQvc3lzL25ldGlu ZXQvdGNwX2xyby5jCkBAIC04OCw2ICs4OCw4IEBACiAJbGMtPmxyb19tYnVmX2NvdW50ID0gMDsK IAlsYy0+bHJvX21idWZfbWF4ID0gbHJvX21idWZzOwogCWxjLT5scm9fY250ID0gbHJvX2VudHJp ZXM7CisJbGMtPmxyb19hY2tjbnRfbGltID0gVENQX0xST19BQ0tDTlRfTUFYOworCWxjLT5scm9f bGVuZ3RoX2xpbSA9IFRDUF9MUk9fTEVOR1RIX01BWDsKIAlsYy0+aWZwID0gaWZwOwogCVNMSVNU X0lOSVQoJmxjLT5scm9fZnJlZSk7CiAJU0xJU1RfSU5JVCgmbGMtPmxyb19hY3RpdmUpOwpAQCAt NjEwLDcgKzYxMiw3IEBACiAJCX0KIAogCQkvKiBGbHVzaCBub3cgaWYgYXBwZW5kaW5nIHdpbGwg cmVzdWx0IGluIG92ZXJmbG93LiAqLwotCQlpZiAobGUtPnBfbGVuID4gKDY1NTM1IC0gdGNwX2Rh dGFfbGVuKSkgeworCQlpZiAobGUtPnBfbGVuID4gKGxjLT5scm9fbGVuZ3RoX2xpbSAtIHRjcF9k YXRhX2xlbikpIHsKIAkJCVNMSVNUX1JFTU9WRSgmbGMtPmxyb19hY3RpdmUsIGxlLCBscm9fZW50 cnksIG5leHQpOwogCQkJdGNwX2xyb19mbHVzaChsYywgbGUpOwogCQkJYnJlYWs7CkBAIC02NDgs NiArNjUwLDE1IEBACiAKIAkJaWYgKHRjcF9kYXRhX2xlbiA9PSAwKSB7CiAJCQltX2ZyZWVtKG0p OworCQkJLyoKKwkJCSAqIEZsdXNoIHRoaXMgTFJPIGVudHJ5LCBpZiB0aGlzIEFDSyBzaG91bGQg bm90CisJCQkgKiBiZSBmdXJ0aGVyIGRlbGF5ZWQuCisJCQkgKi8KKwkJCWlmIChsZS0+YXBwZW5k X2NudCA+PSBsYy0+bHJvX2Fja2NudF9saW0pIHsKKwkJCQlTTElTVF9SRU1PVkUoJmxjLT5scm9f YWN0aXZlLCBsZSwgbHJvX2VudHJ5LAorCQkJCSAgICBuZXh0KTsKKwkJCQl0Y3BfbHJvX2ZsdXNo KGxjLCBsZSk7CisJCQl9CiAJCQlyZXR1cm4gKDApOwogCQl9CiAKQEAgLTY2OCw3ICs2NzksNyBA QAogCQkgKiBJZiBhIHBvc3NpYmxlIG5leHQgZnVsbCBsZW5ndGggcGFja2V0IHdvdWxkIGNhdXNl IGFuCiAJCSAqIG92ZXJmbG93LCBwcm8tYWN0aXZlbHkgZmx1c2ggbm93LgogCQkgKi8KLQkJaWYg KGxlLT5wX2xlbiA+ICg2NTUzNSAtIGxjLT5pZnAtPmlmX210dSkpIHsKKwkJaWYgKGxlLT5wX2xl biA+IChsYy0+bHJvX2xlbmd0aF9saW0gLSBsYy0+aWZwLT5pZl9tdHUpKSB7CiAJCQlTTElTVF9S RU1PVkUoJmxjLT5scm9fYWN0aXZlLCBsZSwgbHJvX2VudHJ5LCBuZXh0KTsKIAkJCXRjcF9scm9f Zmx1c2gobGMsIGxlKTsKIAkJfSBlbHNlCgo= --b1_e7e8a43bd1e1132201af44f2d807a4da-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 05:47:39 2016 Return-Path: Delivered-To: freebsd-virtualization@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 36138AABCB3 for ; Thu, 18 Feb 2016 05:47:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 25995A29 for ; Thu, 18 Feb 2016 05:47:39 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u1I5lbWR094844 for ; Thu, 18 Feb 2016 05:47:39 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-virtualization@FreeBSD.org Subject: [Bug 206630] [Hyper-V]FreeBSD 10.2 on Windows 10 & 2016 server may not boot due to multiple invalid disks issue Date: Thu, 18 Feb 2016 05:47:37 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-STABLE X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: honzhan@microsoft.com X-Bugzilla-Status: Closed X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: emulation@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: resolution bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 05:47:39 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206630 Hongjiang changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|New |Closed --=20 You are receiving this mail because: You are on the CC list for the bug.= From owner-freebsd-virtualization@freebsd.org Thu Feb 18 05:50:54 2016 Return-Path: Delivered-To: freebsd-virtualization@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 951BAAABE24 for ; Thu, 18 Feb 2016 05:50:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 84F24C08 for ; Thu, 18 Feb 2016 05:50:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u1I5orXX000437 for ; Thu, 18 Feb 2016 05:50:54 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-virtualization@FreeBSD.org Subject: [Bug 206630] [Hyper-V]FreeBSD 10.2 on Windows 10 & 2016 server may not boot due to multiple invalid disks issue Date: Thu, 18 Feb 2016 05:50:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-STABLE X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: honzhan@microsoft.com X-Bugzilla-Status: Closed X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: emulation@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 05:50:54 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D206630 --- Comment #3 from Hongjiang --- This issue was fixed on both 10 stable branch (r294890) and head (r294557). --=20 You are receiving this mail because: You are on the CC list for the bug.= From owner-freebsd-virtualization@freebsd.org Thu Feb 18 06:55:32 2016 Return-Path: Delivered-To: freebsd-virtualization@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 66572AAB90E for ; Thu, 18 Feb 2016 06:55:32 +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 514E39E5 for ; Thu, 18 Feb 2016 06:55:32 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 4FE833320472; Thu, 18 Feb 2016 06:55:32 +0000 (UTC) Date: Thu, 18 Feb 2016 06:55:32 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5272+333+f432600ef7536763@reviews.freebsd.org Subject: [Differential] [Closed] D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances Message-ID: <71d46e79a420fe2ef26c7cd98275dd36@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: D5272: hyperv/hn: Add option to allow sharing TX taskq between hn instances 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 In-Reply-To: References: Thread-Index: ZDMwMGVlOTEyMjMxYzQ3NmRmOTRjNmZlNjNhIFbFauQ= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_71d46e79a420fe2ef26c7cd98275dd36" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 06:55:32 -0000 --b1_71d46e79a420fe2ef26c7cd98275dd36 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295741: hyperv/hn: Add option to allow sharing TX taskq between hn instances (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5272?vs=13283&id=13399#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5272?vs=13283&id=13399 REVISION DETAIL https://reviews.freebsd.org/D5272 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -238,6 +238,11 @@ #endif #endif +static int hn_share_tx_taskq = 0; +TUNABLE_INT("hw.hn.share_tx_taskq", &hn_share_tx_taskq); + +static struct taskqueue *hn_tx_taskq; + /* * Forward declarations */ @@ -353,10 +358,14 @@ if (hn_trust_hostip) sc->hn_trust_hcsum |= HN_TRUST_HCSUM_IP; - sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, - taskqueue_thread_enqueue, &sc->hn_tx_taskq); - taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", - device_get_nameunit(dev)); + if (hn_tx_taskq == NULL) { + sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + taskqueue_thread_enqueue, &sc->hn_tx_taskq); + taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", + device_get_nameunit(dev)); + } else { + sc->hn_tx_taskq = hn_tx_taskq; + } TASK_INIT(&sc->hn_start_task, 0, hn_start_taskfunc, sc); TASK_INIT(&sc->hn_txeof_task, 0, hn_txeof_taskfunc, sc); @@ -602,7 +611,8 @@ taskqueue_drain(sc->hn_tx_taskq, &sc->hn_start_task); taskqueue_drain(sc->hn_tx_taskq, &sc->hn_txeof_task); - taskqueue_free(sc->hn_tx_taskq); + if (sc->hn_tx_taskq != hn_tx_taskq) + taskqueue_free(sc->hn_tx_taskq); ifmedia_removeall(&sc->hn_media); #if defined(INET) || defined(INET6) @@ -2039,6 +2049,28 @@ NV_UNLOCK(sc); } +static void +hn_tx_taskq_create(void *arg __unused) +{ + if (!hn_share_tx_taskq) + return; + + hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + taskqueue_thread_enqueue, &hn_tx_taskq); + taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); +} +SYSINIT(hn_txtq_create, SI_SUB_DRIVERS, SI_ORDER_FIRST, + hn_tx_taskq_create, NULL); + +static void +hn_tx_taskq_destroy(void *arg __unused) +{ + if (hn_tx_taskq != NULL) + taskqueue_free(hn_tx_taskq); +} +SYSUNINIT(hn_txtq_destroy, SI_SUB_DRIVERS, SI_ORDER_FIRST, + hn_tx_taskq_destroy, NULL); + static device_method_t netvsc_methods[] = { /* Device interface */ DEVMETHOD(device_probe, netvsc_probe), EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_71d46e79a420fe2ef26c7cd98275dd36 Content-Type: text/x-patch; charset=utf-8; name="D5272.13399.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5272.13399.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTIzOCw2ICsyMzgsMTEgQEAKICNlbmRpZgogI2VuZGlmCiAKK3N0YXRpYyBpbnQgaG5f c2hhcmVfdHhfdGFza3EgPSAwOworVFVOQUJMRV9JTlQoImh3LmhuLnNoYXJlX3R4X3Rhc2txIiwg JmhuX3NoYXJlX3R4X3Rhc2txKTsKKworc3RhdGljIHN0cnVjdCB0YXNrcXVldWUJKmhuX3R4X3Rh c2txOworCiAvKgogICogRm9yd2FyZCBkZWNsYXJhdGlvbnMKICAqLwpAQCAtMzUzLDEwICszNTgs MTQgQEAKIAlpZiAoaG5fdHJ1c3RfaG9zdGlwKQogCQlzYy0+aG5fdHJ1c3RfaGNzdW0gfD0gSE5f VFJVU1RfSENTVU1fSVA7CiAKLQlzYy0+aG5fdHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlX2Zh c3QoImhuX3R4IiwgTV9XQUlUT0ssCi0JICAgIHRhc2txdWV1ZV90aHJlYWRfZW5xdWV1ZSwgJnNj LT5obl90eF90YXNrcSk7Ci0JdGFza3F1ZXVlX3N0YXJ0X3RocmVhZHMoJnNjLT5obl90eF90YXNr cSwgMSwgUElfTkVULCAiJXMgdHgiLAotCSAgICBkZXZpY2VfZ2V0X25hbWV1bml0KGRldikpOwor CWlmIChobl90eF90YXNrcSA9PSBOVUxMKSB7CisJCXNjLT5obl90eF90YXNrcSA9IHRhc2txdWV1 ZV9jcmVhdGVfZmFzdCgiaG5fdHgiLCBNX1dBSVRPSywKKwkJICAgIHRhc2txdWV1ZV90aHJlYWRf ZW5xdWV1ZSwgJnNjLT5obl90eF90YXNrcSk7CisJCXRhc2txdWV1ZV9zdGFydF90aHJlYWRzKCZz Yy0+aG5fdHhfdGFza3EsIDEsIFBJX05FVCwgIiVzIHR4IiwKKwkJICAgIGRldmljZV9nZXRfbmFt ZXVuaXQoZGV2KSk7CisJfSBlbHNlIHsKKwkJc2MtPmhuX3R4X3Rhc2txID0gaG5fdHhfdGFza3E7 CisJfQogCVRBU0tfSU5JVCgmc2MtPmhuX3N0YXJ0X3Rhc2ssIDAsIGhuX3N0YXJ0X3Rhc2tmdW5j LCBzYyk7CiAJVEFTS19JTklUKCZzYy0+aG5fdHhlb2ZfdGFzaywgMCwgaG5fdHhlb2ZfdGFza2Z1 bmMsIHNjKTsKIApAQCAtNjAyLDcgKzYxMSw4IEBACiAKIAl0YXNrcXVldWVfZHJhaW4oc2MtPmhu X3R4X3Rhc2txLCAmc2MtPmhuX3N0YXJ0X3Rhc2spOwogCXRhc2txdWV1ZV9kcmFpbihzYy0+aG5f dHhfdGFza3EsICZzYy0+aG5fdHhlb2ZfdGFzayk7Ci0JdGFza3F1ZXVlX2ZyZWUoc2MtPmhuX3R4 X3Rhc2txKTsKKwlpZiAoc2MtPmhuX3R4X3Rhc2txICE9IGhuX3R4X3Rhc2txKQorCQl0YXNrcXVl dWVfZnJlZShzYy0+aG5fdHhfdGFza3EpOwogCiAJaWZtZWRpYV9yZW1vdmVhbGwoJnNjLT5obl9t ZWRpYSk7CiAjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQpAQCAtMjAzOSw2ICsy MDQ5LDI4IEBACiAJTlZfVU5MT0NLKHNjKTsKIH0KIAorc3RhdGljIHZvaWQKK2huX3R4X3Rhc2tx X2NyZWF0ZSh2b2lkICphcmcgX191bnVzZWQpCit7CisJaWYgKCFobl9zaGFyZV90eF90YXNrcSkK KwkJcmV0dXJuOworCisJaG5fdHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlX2Zhc3QoImhuX3R4 IiwgTV9XQUlUT0ssCisJICAgIHRhc2txdWV1ZV90aHJlYWRfZW5xdWV1ZSwgJmhuX3R4X3Rhc2tx KTsKKwl0YXNrcXVldWVfc3RhcnRfdGhyZWFkcygmaG5fdHhfdGFza3EsIDEsIFBJX05FVCwgImhu IHR4Iik7Cit9CitTWVNJTklUKGhuX3R4dHFfY3JlYXRlLCBTSV9TVUJfRFJJVkVSUywgU0lfT1JE RVJfRklSU1QsCisgICAgaG5fdHhfdGFza3FfY3JlYXRlLCBOVUxMKTsKKworc3RhdGljIHZvaWQK K2huX3R4X3Rhc2txX2Rlc3Ryb3kodm9pZCAqYXJnIF9fdW51c2VkKQoreworCWlmIChobl90eF90 YXNrcSAhPSBOVUxMKQorCQl0YXNrcXVldWVfZnJlZShobl90eF90YXNrcSk7Cit9CitTWVNVTklO SVQoaG5fdHh0cV9kZXN0cm95LCBTSV9TVUJfRFJJVkVSUywgU0lfT1JERVJfRklSU1QsCisgICAg aG5fdHhfdGFza3FfZGVzdHJveSwgTlVMTCk7CisKIHN0YXRpYyBkZXZpY2VfbWV0aG9kX3QgbmV0 dnNjX21ldGhvZHNbXSA9IHsKICAgICAgICAgLyogRGV2aWNlIGludGVyZmFjZSAqLwogICAgICAg ICBERVZNRVRIT0QoZGV2aWNlX3Byb2JlLCAgICAgICAgIG5ldHZzY19wcm9iZSksCgo= --b1_71d46e79a420fe2ef26c7cd98275dd36-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:01:05 2016 Return-Path: Delivered-To: freebsd-virtualization@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 279D1AABC21 for ; Thu, 18 Feb 2016 07:01:05 +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 09FB6DA5 for ; Thu, 18 Feb 2016 07:01:05 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 0783F33206F3; Thu, 18 Feb 2016 07:01:05 +0000 (UTC) Date: Thu, 18 Feb 2016 07:01:05 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5273+333+011061944716eb47@reviews.freebsd.org Subject: [Differential] [Closed] D5273: hyperv/hn: Always do transmission scheduling. 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: D5273: hyperv/hn: Always do transmission scheduling. 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 In-Reply-To: References: Thread-Index: NjBlMTZiZTJjNDkyNWRhNTA0YmJkYWZhYmIxIFbFbDE= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_aad80d7c5bec4153a5199d5f8a0062cb" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:01:05 -0000 --b1_aad80d7c5bec4153a5199d5f8a0062cb Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295742: hyperv/hn: Always do transmission scheduling. (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5273?vs=13284&id=13400#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5273?vs=13284&id=13400 REVISION DETAIL https://reviews.freebsd.org/D5273 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -465,6 +465,13 @@ hn_tx_chimney_size < sc->hn_tx_chimney_max) sc->hn_tx_chimney_size = hn_tx_chimney_size; + /* + * Always schedule transmission instead of trying + * to do direct transmission. This one gives the + * best performance so far. + */ + sc->hn_sched_tx = 1; + ctx = device_get_sysctl_ctx(dev); child = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_aad80d7c5bec4153a5199d5f8a0062cb Content-Type: text/x-patch; charset=utf-8; name="D5273.13400.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5273.13400.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTQ2NSw2ICs0NjUsMTMgQEAKIAkgICAgaG5fdHhfY2hpbW5leV9zaXplIDwgc2MtPmhu X3R4X2NoaW1uZXlfbWF4KQogCQlzYy0+aG5fdHhfY2hpbW5leV9zaXplID0gaG5fdHhfY2hpbW5l eV9zaXplOwogCisJLyoKKwkgKiBBbHdheXMgc2NoZWR1bGUgdHJhbnNtaXNzaW9uIGluc3RlYWQg b2YgdHJ5aW5nCisJICogdG8gZG8gZGlyZWN0IHRyYW5zbWlzc2lvbi4gIFRoaXMgb25lIGdpdmVz IHRoZQorCSAqIGJlc3QgcGVyZm9ybWFuY2Ugc28gZmFyLgorCSAqLworCXNjLT5obl9zY2hlZF90 eCA9IDE7CisKIAljdHggPSBkZXZpY2VfZ2V0X3N5c2N0bF9jdHgoZGV2KTsKIAljaGlsZCA9IFNZ U0NUTF9DSElMRFJFTihkZXZpY2VfZ2V0X3N5c2N0bF90cmVlKGRldikpOwogCgo= --b1_aad80d7c5bec4153a5199d5f8a0062cb-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:07:07 2016 Return-Path: Delivered-To: freebsd-virtualization@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 65619AAC000 for ; Thu, 18 Feb 2016 07:07:07 +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 507EE122C for ; Thu, 18 Feb 2016 07:07:07 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 4E0AC3320A62; Thu, 18 Feb 2016 07:07:07 +0000 (UTC) Date: Thu, 18 Feb 2016 07:07:07 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5274+333+9ea095979011f33b@reviews.freebsd.org Subject: [Differential] [Closed] D5274: hyperv/hn: Change global tunable prefix to hw.hn 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: D5274: hyperv/hn: Change global tunable prefix to hw.hn 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 In-Reply-To: References: Thread-Index: MWFhYmZkMDZkODQzOGI1NjgyOWFlNTAzNzIwIFbFbZs= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_ada0d82a6dd4b1a872527789fab2f1b7" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:07:07 -0000 --b1_ada0d82a6dd4b1a872527789fab2f1b7 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295743: hyperv/hn: Change global tunable prefix to hw.hn (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5274?vs=13285&id=13401#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5274?vs=13285&id=13401 REVISION DETAIL https://reviews.freebsd.org/D5274 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, howard0su_gmail.com, honzhan_microsoft.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_ada0d82a6dd4b1a872527789fab2f1b7 Content-Type: text/x-patch; charset=utf-8; name="D5274.13401.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5274.13401.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTIwNSw0MSArMjA1LDU3IEBACiAKIGludCBodl9wcm9taXNjX21vZGUgPSAwOyAgICAv KiBub3JtYWwgbW9kZSBieSBkZWZhdWx0ICovCiAKK1NZU0NUTF9OT0RFKF9odywgT0lEX0FVVE8s IGhuLCBDVExGTEFHX1JELCBOVUxMLCAiSHlwZXItViBuZXR3b3JrIGludGVyZmFjZSIpOworCiAv KiBUcnVzdCB0Y3Agc2VnZW1lbnRzIHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUuICovCiBzdGF0 aWMgaW50IGhuX3RydXN0X2hvc3R0Y3AgPSAxOwotVFVOQUJMRV9JTlQoImRldi5obi50cnVzdF9o b3N0dGNwIiwgJmhuX3RydXN0X2hvc3R0Y3ApOworU1lTQ1RMX0lOVChfaHdfaG4sIE9JRF9BVVRP LCB0cnVzdF9ob3N0dGNwLCBDVExGTEFHX1JEVFVOLAorICAgICZobl90cnVzdF9ob3N0dGNwLCAw LAorICAgICJUcnVzdCB0Y3Agc2VnZW1lbnQgdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSwgIgor ICAgICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIChnbG9iYWwgc2V0dGluZykiKTsKIAogLyog VHJ1c3QgdWRwIGRhdGFncmFtcyB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLiAqLwogc3RhdGlj IGludCBobl90cnVzdF9ob3N0dWRwID0gMTsKLVRVTkFCTEVfSU5UKCJkZXYuaG4udHJ1c3RfaG9z dHVkcCIsICZobl90cnVzdF9ob3N0dWRwKTsKK1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywg dHJ1c3RfaG9zdHVkcCwgQ1RMRkxBR19SRFRVTiwKKyAgICAmaG5fdHJ1c3RfaG9zdHVkcCwgMCwK KyAgICAiVHJ1c3QgdWRwIGRhdGFncmFtIHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUsICIKKyAg ICAid2hlbiBjc3VtIGluZm8gaXMgbWlzc2luZyAoZ2xvYmFsIHNldHRpbmcpIik7CiAKIC8qIFRy dXN0IGlwIHBhY2tldHMgdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZS4gKi8KIHN0YXRpYyBpbnQg aG5fdHJ1c3RfaG9zdGlwID0gMTsKLVRVTkFCTEVfSU5UKCJkZXYuaG4udHJ1c3RfaG9zdGlwIiwg JmhuX3RydXN0X2hvc3RpcCk7CitTWVNDVExfSU5UKF9od19obiwgT0lEX0FVVE8sIHRydXN0X2hv c3RpcCwgQ1RMRkxBR19SRFRVTiwKKyAgICAmaG5fdHJ1c3RfaG9zdGlwLCAwLAorICAgICJUcnVz dCBpcCBwYWNrZXQgdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSwgIgorICAgICJ3aGVuIGNzdW0g aW5mbyBpcyBtaXNzaW5nIChnbG9iYWwgc2V0dGluZykiKTsKIAogI2lmIF9fRnJlZUJTRF92ZXJz aW9uID49IDExMDAwNDUKIC8qIExpbWl0IFRTTyBidXJzdCBzaXplICovCiBzdGF0aWMgaW50IGhu X3Rzb19tYXhsZW4gPSAwOwotVFVOQUJMRV9JTlQoImRldi5obi50c29fbWF4bGVuIiwgJmhuX3Rz b19tYXhsZW4pOworU1lTQ1RMX0lOVChfaHdfaG4sIE9JRF9BVVRPLCB0c29fbWF4bGVuLCBDVExG TEFHX1JEVFVOLAorICAgICZobl90c29fbWF4bGVuLCAwLCAiVFNPIGJ1cnN0IGxpbWl0Iik7CiAj ZW5kaWYKIAogLyogTGltaXQgY2hpbW5leSBzZW5kIHNpemUgKi8KIHN0YXRpYyBpbnQgaG5fdHhf Y2hpbW5leV9zaXplID0gMDsKLVRVTkFCTEVfSU5UKCJkZXYuaG4udHhfY2hpbW5leV9zaXplIiwg JmhuX3R4X2NoaW1uZXlfc2l6ZSk7CitTWVNDVExfSU5UKF9od19obiwgT0lEX0FVVE8sIHR4X2No aW1uZXlfc2l6ZSwgQ1RMRkxBR19SRFRVTiwKKyAgICAmaG5fdHhfY2hpbW5leV9zaXplLCAwLCAi Q2hpbW5leSBzZW5kIHBhY2tldCBzaXplIGxpbWl0Iik7CiAKIC8qIExpbWl0IHRoZSBzaXplIG9m IHBhY2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiAqLwogc3RhdGljIGludCBobl9kaXJlY3Rf dHhfc2l6ZSA9IEhOX0RJUkVDVF9UWF9TSVpFX0RFRjsKLVRVTkFCTEVfSU5UKCJkZXYuaG4uZGly ZWN0X3R4X3NpemUiLCAmaG5fZGlyZWN0X3R4X3NpemUpOworU1lTQ1RMX0lOVChfaHdfaG4sIE9J RF9BVVRPLCBkaXJlY3RfdHhfc2l6ZSwgQ1RMRkxBR19SRFRVTiwKKyAgICAmaG5fZGlyZWN0X3R4 X3NpemUsIDAsICJTaXplIG9mIHRoZSBwYWNrZXQgZm9yIGRpcmVjdCB0cmFuc21pc3Npb24iKTsK IAogI2lmIGRlZmluZWQoSU5FVCkgfHwgZGVmaW5lZChJTkVUNikKICNpZiBfX0ZyZWVCU0RfdmVy c2lvbiA+PSAxMTAwMDk1CiBzdGF0aWMgaW50IGhuX2xyb19lbnRyeV9jb3VudCA9IEhOX0xST0VO VF9DTlRfREVGOwotVFVOQUJMRV9JTlQoImRldi5obi5scm9fZW50cnlfY291bnQiLCAmaG5fbHJv X2VudHJ5X2NvdW50KTsKK1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgbHJvX2VudHJ5X2Nv dW50LCBDVExGTEFHX1JEVFVOLAorICAgICZobl9scm9fZW50cnlfY291bnQsIDAsICJMUk8gZW50 cnkgY291bnQiKTsKICNlbmRpZgogI2VuZGlmCiAKIHN0YXRpYyBpbnQgaG5fc2hhcmVfdHhfdGFz a3EgPSAwOwotVFVOQUJMRV9JTlQoImh3LmhuLnNoYXJlX3R4X3Rhc2txIiwgJmhuX3NoYXJlX3R4 X3Rhc2txKTsKK1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgc2hhcmVfdHhfdGFza3EsIENU TEZMQUdfUkRUVU4sCisgICAgJmhuX3NoYXJlX3R4X3Rhc2txLCAwLCAiRW5hYmxlIHNoYXJlZCBU WCB0YXNrcXVldWUiKTsKIAogc3RhdGljIHN0cnVjdCB0YXNrcXVldWUJKmhuX3R4X3Rhc2txOwog CkBAIC01NDEsNDggKzU1Nyw2IEBACiAJICAgICJBbHdheXMgc2NoZWR1bGUgdHJhbnNtaXNzaW9u ICIKIAkgICAgImluc3RlYWQgb2YgZG9pbmcgZGlyZWN0IHRyYW5zbWlzc2lvbiIpOwogCi0JaWYg KHVuaXQgPT0gMCkgewotCQlzdHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpkY19jdHg7Ci0JCXN0cnVj dCBzeXNjdGxfb2lkX2xpc3QgKmRjX2NoaWxkOwotCQlkZXZjbGFzc190IGRjOwotCi0JCS8qCi0J CSAqIEFkZCBzeXNjdGwgbm9kZXMgZm9yIGRldmNsYXNzCi0JCSAqLwotCQlkYyA9IGRldmljZV9n ZXRfZGV2Y2xhc3MoZGV2KTsKLQkJZGNfY3R4ID0gZGV2Y2xhc3NfZ2V0X3N5c2N0bF9jdHgoZGMp OwotCQlkY19jaGlsZCA9IFNZU0NUTF9DSElMRFJFTihkZXZjbGFzc19nZXRfc3lzY3RsX3RyZWUo ZGMpKTsKLQotCQlTWVNDVExfQUREX0lOVChkY19jdHgsIGRjX2NoaWxkLCBPSURfQVVUTywgInRy dXN0X2hvc3R0Y3AiLAotCQkgICAgQ1RMRkxBR19SRCwgJmhuX3RydXN0X2hvc3R0Y3AsIDAsCi0J CSAgICAiVHJ1c3QgdGNwIHNlZ2VtZW50IHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUsICIKLQkJ ICAgICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIChnbG9iYWwgc2V0dGluZykiKTsKLQkJU1lT Q1RMX0FERF9JTlQoZGNfY3R4LCBkY19jaGlsZCwgT0lEX0FVVE8sICJ0cnVzdF9ob3N0dWRwIiwK LQkJICAgIENUTEZMQUdfUkQsICZobl90cnVzdF9ob3N0dWRwLCAwLAotCQkgICAgIlRydXN0IHVk cCBkYXRhZ3JhbSB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCi0JCSAgICAid2hlbiBjc3Vt IGluZm8gaXMgbWlzc2luZyAoZ2xvYmFsIHNldHRpbmcpIik7Ci0JCVNZU0NUTF9BRERfSU5UKGRj X2N0eCwgZGNfY2hpbGQsIE9JRF9BVVRPLCAidHJ1c3RfaG9zdGlwIiwKLQkJICAgIENUTEZMQUdf UkQsICZobl90cnVzdF9ob3N0aXAsIDAsCi0JCSAgICAiVHJ1c3QgaXAgcGFja2V0IHZlcmlmaWNh dGlvbiBvbiBob3N0IHNpZGUsICIKLQkJICAgICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIChn bG9iYWwgc2V0dGluZykiKTsKLQkJU1lTQ1RMX0FERF9JTlQoZGNfY3R4LCBkY19jaGlsZCwgT0lE X0FVVE8sICJ0eF9jaGltbmV5X3NpemUiLAotCQkgICAgQ1RMRkxBR19SRCwgJmhuX3R4X2NoaW1u ZXlfc2l6ZSwgMCwKLQkJICAgICJDaGltbmV5IHNlbmQgcGFja2V0IHNpemUgbGltaXQiKTsKLSNp ZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDQ1Ci0JCVNZU0NUTF9BRERfSU5UKGRjX2N0eCwg ZGNfY2hpbGQsIE9JRF9BVVRPLCAidHNvX21heGxlbiIsCi0JCSAgICBDVExGTEFHX1JELCAmaG5f dHNvX21heGxlbiwgMCwgIlRTTyBidXJzdCBsaW1pdCIpOwotI2VuZGlmCi0JCVNZU0NUTF9BRERf SU5UKGRjX2N0eCwgZGNfY2hpbGQsIE9JRF9BVVRPLCAiZGlyZWN0X3R4X3NpemUiLAotCQkgICAg Q1RMRkxBR19SRCwgJmhuX2RpcmVjdF90eF9zaXplLCAwLAotCQkgICAgIlNpemUgb2YgdGhlIHBh Y2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiIpOwotI2lmIGRlZmluZWQoSU5FVCkgfHwgZGVm aW5lZChJTkVUNikKLSNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDk1Ci0JCVNZU0NUTF9B RERfSU5UKGRjX2N0eCwgZGNfY2hpbGQsIE9JRF9BVVRPLCAibHJvX2VudHJ5X2NvdW50IiwKLQkJ ICAgIENUTEZMQUdfUkQsICZobl9scm9fZW50cnlfY291bnQsIDAsICJMUk8gZW50cnkgY291bnQi KTsKLSNlbmRpZgotI2VuZGlmCi0JfQotCiAJcmV0dXJuICgwKTsKIGZhaWxlZDoKIAlobl9kZXN0 cm95X3R4X3Jpbmcoc2MpOwoK --b1_ada0d82a6dd4b1a872527789fab2f1b7-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:16:57 2016 Return-Path: Delivered-To: freebsd-virtualization@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 080B6AAC416 for ; Thu, 18 Feb 2016 07:16:57 +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 E4F82199E for ; Thu, 18 Feb 2016 07:16:56 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id E244A3321038; Thu, 18 Feb 2016 07:16:56 +0000 (UTC) Date: Thu, 18 Feb 2016 07:16:56 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5275+333+864504ab3c6c1bfb@reviews.freebsd.org Subject: [Differential] [Closed] D5275: hyperv/hn: Split RX ring data structure out of softc 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: D5275: hyperv/hn: Split RX ring data structure out of softc 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 In-Reply-To: References: Thread-Index: YjcyNDdhYWMyM2I2MDliMDQ0MmIxOWZkYTEzIFbFb+g= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_c7fd9e765186f2a1317a0a5c23ff65d7" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:16:57 -0000 --b1_c7fd9e765186f2a1317a0a5c23ff65d7 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295744: hyperv/hn: Split RX ring data structure out of softc (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5275?vs=13287&id=13402#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5275?vs=13287&id=13402 REVISION DETAIL https://reviews.freebsd.org/D5275 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_c7fd9e765186f2a1317a0a5c23ff65d7 Content-Type: text/x-patch; charset=utf-8; name="D5275.13402.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5275.13402.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTI3NSwxMiArMjc1LDE2IEBACiBzdGF0aWMgaW50IGhuX2xyb19hY2tjbnRfc3lzY3Rs KFNZU0NUTF9IQU5ETEVSX0FSR1MpOwogc3RhdGljIGludCBobl90cnVzdF9oY3N1bV9zeXNjdGwo U1lTQ1RMX0hBTkRMRVJfQVJHUyk7CiBzdGF0aWMgaW50IGhuX3R4X2NoaW1uZXlfc2l6ZV9zeXNj dGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7CitzdGF0aWMgaW50IGhuX3J4X3N0YXRfdWxvbmdfc3lz Y3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOworc3RhdGljIGludCBobl9yeF9zdGF0X3U2NF9zeXNj dGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7CiBzdGF0aWMgaW50IGhuX2NoZWNrX2lwbGVuKGNvbnN0 IHN0cnVjdCBtYnVmICosIGludCk7CiBzdGF0aWMgaW50IGhuX2NyZWF0ZV90eF9yaW5nKHN0cnVj dCBobl9zb2Z0YyAqc2MpOwogc3RhdGljIHZvaWQgaG5fZGVzdHJveV90eF9yaW5nKHN0cnVjdCBo bl9zb2Z0YyAqc2MpOwogc3RhdGljIHZvaWQgaG5fc3RhcnRfdGFza2Z1bmModm9pZCAqeHNjLCBp bnQgcGVuZGluZyk7CiBzdGF0aWMgdm9pZCBobl90eGVvZl90YXNrZnVuYyh2b2lkICp4c2MsIGlu dCBwZW5kaW5nKTsKIHN0YXRpYyBpbnQgaG5fZW5jYXAoc3RydWN0IGhuX3NvZnRjICosIHN0cnVj dCBobl90eGRlc2MgKiwgc3RydWN0IG1idWYgKiopOworc3RhdGljIHZvaWQgaG5fY3JlYXRlX3J4 X2RhdGEoc3RydWN0IGhuX3NvZnRjICpzYyk7CitzdGF0aWMgdm9pZCBobl9kZXN0cm95X3J4X2Rh dGEoc3RydWN0IGhuX3NvZnRjICpzYyk7CiAKIHN0YXRpYyBpbnQKIGhuX2lmbWVkaWFfdXBkKHN0 cnVjdCBpZm5ldCAqaWZwIF9fdW51c2VkKQpAQCAtMzUyLDExICszNTYsNiBAQAogI2lmIF9fRnJl ZUJTRF92ZXJzaW9uID49IDExMDAwNDUKIAlpbnQgdHNvX21heGxlbjsKICNlbmRpZgotI2lmIGRl ZmluZWQoSU5FVCkgfHwgZGVmaW5lZChJTkVUNikKLSNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAx MTAwMDk1Ci0JaW50IGxyb2VudF9jbnQ7Ci0jZW5kaWYKLSNlbmRpZgogCiAJc2MgPSBkZXZpY2Vf Z2V0X3NvZnRjKGRldik7CiAJaWYgKHNjID09IE5VTEwpIHsKQEAgLTM2NywxMiArMzY2LDYgQEAK IAlzYy0+aG5fdW5pdCA9IHVuaXQ7CiAJc2MtPmhuX2RldiA9IGRldjsKIAlzYy0+aG5fZGlyZWN0 X3R4X3NpemUgPSBobl9kaXJlY3RfdHhfc2l6ZTsKLQlpZiAoaG5fdHJ1c3RfaG9zdHRjcCkKLQkJ c2MtPmhuX3RydXN0X2hjc3VtIHw9IEhOX1RSVVNUX0hDU1VNX1RDUDsKLQlpZiAoaG5fdHJ1c3Rf aG9zdHVkcCkKLQkJc2MtPmhuX3RydXN0X2hjc3VtIHw9IEhOX1RSVVNUX0hDU1VNX1VEUDsKLQlp ZiAoaG5fdHJ1c3RfaG9zdGlwKQotCQlzYy0+aG5fdHJ1c3RfaGNzdW0gfD0gSE5fVFJVU1RfSENT VU1fSVA7CiAKIAlpZiAoaG5fdHhfdGFza3EgPT0gTlVMTCkgewogCQlzYy0+aG5fdHhfdGFza3Eg PSB0YXNrcXVldWVfY3JlYXRlX2Zhc3QoImhuX3R4IiwgTV9XQUlUT0ssCkBAIC0zOTYsNiArMzg5 LDggQEAKIAlpZnAgPSBzYy0+aG5faWZwID0gaWZfYWxsb2MoSUZUX0VUSEVSKTsKIAlpZnAtPmlm X3NvZnRjID0gc2M7CiAKKwlobl9jcmVhdGVfcnhfZGF0YShzYyk7CisKIAlpZl9pbml0bmFtZShp ZnAsIGRldmljZV9nZXRfbmFtZShkZXYpLCBkZXZpY2VfZ2V0X3VuaXQoZGV2KSk7CiAJaWZwLT5p Zl9kdW5pdCA9IHVuaXQ7CiAJaWZwLT5pZl9kbmFtZSA9IE5FVFZTQ19ERVZOQU1FOwpAQCAtNDQx LDIyICs0MzYsNiBAQAogCQlzYy0+aG5fY2FycmllciA9IDE7CiAJfQogCi0jaWYgZGVmaW5lZChJ TkVUKSB8fCBkZWZpbmVkKElORVQ2KQotI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDExMDAwOTUK LQlscm9lbnRfY250ID0gaG5fbHJvX2VudHJ5X2NvdW50OwotCWlmIChscm9lbnRfY250IDwgVENQ X0xST19FTlRSSUVTKQotCQlscm9lbnRfY250ID0gVENQX0xST19FTlRSSUVTOwotCXRjcF9scm9f aW5pdF9hcmdzKCZzYy0+aG5fbHJvLCBpZnAsIGxyb2VudF9jbnQsIDApOwotCWRldmljZV9wcmlu dGYoZGV2LCAiTFJPOiBlbnRyeSBjb3VudCAlZFxuIiwgbHJvZW50X2NudCk7Ci0jZWxzZQotCXRj cF9scm9faW5pdCgmc2MtPmhuX2xybyk7Ci0JLyogRHJpdmVyIHByaXZhdGUgTFJPIHNldHRpbmdz ICovCi0Jc2MtPmhuX2xyby5pZnAgPSBpZnA7Ci0jZW5kaWYKLQlzYy0+aG5fbHJvLmxyb19sZW5n dGhfbGltID0gSE5fTFJPX0xFTkxJTV9ERUY7Ci0Jc2MtPmhuX2xyby5scm9fYWNrY250X2xpbSA9 IEhOX0xST19BQ0tDTlRfREVGOwotI2VuZGlmCS8qIElORVQgfHwgSU5FVDYgKi8KLQogI2lmIF9f RnJlZUJTRF92ZXJzaW9uID49IDExMDAwNDUKIAl0c29fbWF4bGVuID0gaG5fdHNvX21heGxlbjsK IAlpZiAodHNvX21heGxlbiA8PSAwIHx8IHRzb19tYXhsZW4gPiBJUF9NQVhQQUNLRVQpCkBAIC00 OTEsNDQgKzQ3MCw2IEBACiAJY3R4ID0gZGV2aWNlX2dldF9zeXNjdGxfY3R4KGRldik7CiAJY2hp bGQgPSBTWVNDVExfQ0hJTERSRU4oZGV2aWNlX2dldF9zeXNjdGxfdHJlZShkZXYpKTsKIAotCVNZ U0NUTF9BRERfVTY0KGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX3F1ZXVlZCIsCi0JICAgIENU TEZMQUdfUlcsICZzYy0+aG5fbHJvLmxyb19xdWV1ZWQsIDAsICJMUk8gcXVldWVkIik7Ci0JU1lT Q1RMX0FERF9VNjQoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJscm9fZmx1c2hlZCIsCi0JICAgIENU TEZMQUdfUlcsICZzYy0+aG5fbHJvLmxyb19mbHVzaGVkLCAwLCAiTFJPIGZsdXNoZWQiKTsKLQlT WVNDVExfQUREX1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX3RyaWVkIiwKLQkgICAg Q1RMRkxBR19SVywgJnNjLT5obl9scm9fdHJpZWQsICIjIG9mIExSTyB0cmllcyIpOwotCVNZU0NU TF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19sZW5ndGhfbGltIiwKLQkgICAg Q1RMVFlQRV9VSU5UIHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX2xyb19sZW5saW1fc3lzY3RsLCAi SVUiLAotCSAgICAiTWF4ICMgb2YgZGF0YSBieXRlcyB0byBiZSBhZ2dyZWdhdGVkIGJ5IExSTyIp OwotCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19hY2tjbnRfbGlt IiwKLQkgICAgQ1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywgMCwgaG5fbHJvX2Fja2NudF9z eXNjdGwsICJJIiwKLQkgICAgIk1heCAjIG9mIEFDS3MgdG8gYmUgYWdncmVnYXRlZCBieSBMUk8i KTsKLQlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0cnVzdF9ob3N0dGNw IiwKLQkgICAgQ1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywgSE5fVFJVU1RfSENTVU1fVENQ LAotCSAgICBobl90cnVzdF9oY3N1bV9zeXNjdGwsICJJIiwKLQkgICAgIlRydXN0IHRjcCBzZWdl bWVudCB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCi0JICAgICJ3aGVuIGNzdW0gaW5mbyBp cyBtaXNzaW5nIik7Ci0JU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHJ1 c3RfaG9zdHVkcCIsCi0JICAgIENUTFRZUEVfSU5UIHwgQ1RMRkxBR19SVywgc2MsIEhOX1RSVVNU X0hDU1VNX1VEUCwKLQkgICAgaG5fdHJ1c3RfaGNzdW1fc3lzY3RsLCAiSSIsCi0JICAgICJUcnVz dCB1ZHAgZGF0YWdyYW0gdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSwgIgotCSAgICAid2hlbiBj c3VtIGluZm8gaXMgbWlzc2luZyIpOwotCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURf QVVUTywgInRydXN0X2hvc3RpcCIsCi0JICAgIENUTFRZUEVfSU5UIHwgQ1RMRkxBR19SVywgc2Ms IEhOX1RSVVNUX0hDU1VNX0lQLAotCSAgICBobl90cnVzdF9oY3N1bV9zeXNjdGwsICJJIiwKLQkg ICAgIlRydXN0IGlwIHBhY2tldCB2ZXJpZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCi0JICAgICJ3 aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5nIik7Ci0JU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxk LCBPSURfQVVUTywgImNzdW1faXAiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX2NzdW1faXAs ICJSWENTVU0gSVAiKTsKLQlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAi Y3N1bV90Y3AiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX2NzdW1fdGNwLCAiUlhDU1VNIFRD UCIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJjc3VtX3VkcCIs Ci0JICAgIENUTEZMQUdfUlcsICZzYy0+aG5fY3N1bV91ZHAsICJSWENTVU0gVURQIik7Ci0JU1lT Q1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImNzdW1fdHJ1c3RlZCIsCi0JICAg IENUTEZMQUdfUlcsICZzYy0+aG5fY3N1bV90cnVzdGVkLAotCSAgICAiIyBvZiBwYWNrZXRzIHRo YXQgd2UgdHJ1c3QgaG9zdCdzIGNzdW0gdmVyaWZpY2F0aW9uIik7Ci0JU1lTQ1RMX0FERF9VTE9O RyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInNtYWxsX3BrdHMiLAotCSAgICBDVExGTEFHX1JXLCAm c2MtPmhuX3NtYWxsX3BrdHMsICIjIG9mIHNtYWxsIHBhY2tldHMgcmVjZWl2ZWQiKTsKIAlTWVND VExfQUREX1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibm9fdHhkZXNjcyIsCiAJICAgIENU TEZMQUdfUlcsICZzYy0+aG5fbm9fdHhkZXNjcywgIiMgb2YgdGltZXMgc2hvcnQgb2YgVFggZGVz Y3MiKTsKIAlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAic2VuZF9mYWls ZWQiLApAQCAtNTk2LDkgKzUzNyw3IEBACiAJCXRhc2txdWV1ZV9mcmVlKHNjLT5obl90eF90YXNr cSk7CiAKIAlpZm1lZGlhX3JlbW92ZWFsbCgmc2MtPmhuX21lZGlhKTsKLSNpZiBkZWZpbmVkKElO RVQpIHx8IGRlZmluZWQoSU5FVDYpCi0JdGNwX2xyb19mcmVlKCZzYy0+aG5fbHJvKTsKLSNlbmRp ZgorCWhuX2Rlc3Ryb3lfcnhfZGF0YShzYyk7CiAJaG5fZGVzdHJveV90eF9yaW5nKHNjKTsKIAog CXJldHVybiAoMCk7CkBAIC03NDYsNyArNjg1LDggQEAKIHsKIAlzdHJ1Y3QgaG5fc29mdGMgKnNj ID0gZGV2aWNlX2dldF9zb2Z0YyhkZXZpY2VfY3R4LT5kZXZpY2UpOwogI2lmIGRlZmluZWQoSU5F VCkgfHwgZGVmaW5lZChJTkVUNikKLQlzdHJ1Y3QgbHJvX2N0cmwgKmxybyA9ICZzYy0+aG5fbHJv OworCXN0cnVjdCBobl9yeF9yaW5nICpyeHIgPSAmc2MtPmhuX3J4X3JpbmdbMF07IC8qIFRPRE86 IHZSU1MgKi8KKwlzdHJ1Y3QgbHJvX2N0cmwgKmxybyA9ICZyeHItPmhuX2xybzsKIAlzdHJ1Y3Qg bHJvX2VudHJ5ICpxdWV1ZWQ7CiAKIAl3aGlsZSAoKHF1ZXVlZCA9IFNMSVNUX0ZJUlNUKCZscm8t Pmxyb19hY3RpdmUpKSAhPSBOVUxMKSB7CkBAIC0xMTYyLDEwICsxMTAyLDEwIEBACiBuZXR2c2Nf cmVjdihzdHJ1Y3QgaHZfZGV2aWNlICpkZXZpY2VfY3R4LCBuZXR2c2NfcGFja2V0ICpwYWNrZXQs CiAgICAgcm5kaXNfdGNwX2lwX2NzdW1faW5mbyAqY3N1bV9pbmZvKQogewotCWhuX3NvZnRjX3Qg KnNjID0gKGhuX3NvZnRjX3QgKilkZXZpY2VfZ2V0X3NvZnRjKGRldmljZV9jdHgtPmRldmljZSk7 CisJc3RydWN0IGhuX3NvZnRjICpzYyA9IGRldmljZV9nZXRfc29mdGMoZGV2aWNlX2N0eC0+ZGV2 aWNlKTsKKwlzdHJ1Y3QgaG5fcnhfcmluZyAqcnhyID0gJnNjLT5obl9yeF9yaW5nWzBdOyAvKiBU T0RPOiB2UlNTICovCiAJc3RydWN0IG1idWYgKm1fbmV3OwogCXN0cnVjdCBpZm5ldCAqaWZwOwot CWRldmljZV90IGRldiA9IGRldmljZV9jdHgtPmRldmljZTsKIAlpbnQgc2l6ZSwgZG9fbHJvID0g MCwgZG9fY3N1bSA9IDE7CiAKIAlpZiAoc2MgPT0gTlVMTCkgewpAQCAtMTE5MCw3ICsxMTMwLDcg QEAKIAkJbWVtY3B5KG10b2QobV9uZXcsIHZvaWQgKiksIHBhY2tldC0+ZGF0YSwKIAkJICAgIHBh Y2tldC0+dG90X2RhdGFfYnVmX2xlbik7CiAJCW1fbmV3LT5tX3BrdGhkci5sZW4gPSBtX25ldy0+ bV9sZW4gPSBwYWNrZXQtPnRvdF9kYXRhX2J1Zl9sZW47Ci0JCXNjLT5obl9zbWFsbF9wa3RzKys7 CisJCXJ4ci0+aG5fc21hbGxfcGt0cysrOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIEdldCBhbiBt YnVmIHdpdGggYSBjbHVzdGVyLiAgRm9yIHBhY2tldHMgMksgb3IgbGVzcywKQEAgLTEyMDYsNyAr MTE0Niw3IEBACiAKIAkJbV9uZXcgPSBtX2dldGpjbChNX05PV0FJVCwgTVRfREFUQSwgTV9QS1RI RFIsIHNpemUpOwogCQlpZiAobV9uZXcgPT0gTlVMTCkgewotCQkJZGV2aWNlX3ByaW50ZihkZXYs ICJhbGxvYyBtYnVmIGZhaWxlZC5cbiIpOworCQkJaWZfcHJpbnRmKGlmcCwgImFsbG9jIG1idWYg ZmFpbGVkLlxuIik7CiAJCQlyZXR1cm4gKDApOwogCQl9CiAKQEAgLTEyMjMsNyArMTE2Myw3IEBA CiAJCWlmIChjc3VtX2luZm8tPnJlY2VpdmUuaXBfY3N1bV9zdWNjZWVkZWQgJiYgZG9fY3N1bSkg ewogCQkJbV9uZXctPm1fcGt0aGRyLmNzdW1fZmxhZ3MgfD0KIAkJCSAgICAoQ1NVTV9JUF9DSEVD S0VEIHwgQ1NVTV9JUF9WQUxJRCk7Ci0JCQlzYy0+aG5fY3N1bV9pcCsrOworCQkJcnhyLT5obl9j c3VtX2lwKys7CiAJCX0KIAogCQkvKiBUQ1AvVURQIGNzdW0gb2ZmbG9hZCAqLwpAQCAtMTIzMyw5 ICsxMTczLDkgQEAKIAkJCSAgICAoQ1NVTV9EQVRBX1ZBTElEIHwgQ1NVTV9QU0VVRE9fSERSKTsK IAkJCW1fbmV3LT5tX3BrdGhkci5jc3VtX2RhdGEgPSAweGZmZmY7CiAJCQlpZiAoY3N1bV9pbmZv LT5yZWNlaXZlLnRjcF9jc3VtX3N1Y2NlZWRlZCkKLQkJCQlzYy0+aG5fY3N1bV90Y3ArKzsKKwkJ CQlyeHItPmhuX2NzdW1fdGNwKys7CiAJCQllbHNlCi0JCQkJc2MtPmhuX2NzdW1fdWRwKys7CisJ CQkJcnhyLT5obl9jc3VtX3VkcCsrOwogCQl9CiAKIAkJaWYgKGNzdW1faW5mby0+cmVjZWl2ZS5p cF9jc3VtX3N1Y2NlZWRlZCAmJgpAQCAtMTI2Nyw4ICsxMjA3LDkgQEAKIAkJCXByID0gaG5fY2hl Y2tfaXBsZW4obV9uZXcsIGhvZmYpOwogCQkJaWYgKHByID09IElQUFJPVE9fVENQKSB7CiAJCQkJ aWYgKGRvX2NzdW0gJiYKLQkJCQkgICAgKHNjLT5obl90cnVzdF9oY3N1bSAmIEhOX1RSVVNUX0hD U1VNX1RDUCkpIHsKLQkJCQkJc2MtPmhuX2NzdW1fdHJ1c3RlZCsrOworCQkJCSAgICAocnhyLT5o bl90cnVzdF9oY3N1bSAmCisJCQkJICAgICBITl9UUlVTVF9IQ1NVTV9UQ1ApKSB7CisJCQkJCXJ4 ci0+aG5fY3N1bV90cnVzdGVkKys7CiAJCQkJCW1fbmV3LT5tX3BrdGhkci5jc3VtX2ZsYWdzIHw9 CiAJCQkJCSAgIChDU1VNX0lQX0NIRUNLRUQgfCBDU1VNX0lQX1ZBTElEIHwKIAkJCQkJICAgIENT VU1fREFUQV9WQUxJRCB8IENTVU1fUFNFVURPX0hEUik7CkBAIC0xMjc4LDE2ICsxMjE5LDE3IEBA CiAJCQkJZG9fbHJvID0gMTsKIAkJCX0gZWxzZSBpZiAocHIgPT0gSVBQUk9UT19VRFApIHsKIAkJ CQlpZiAoZG9fY3N1bSAmJgotCQkJCSAgICAoc2MtPmhuX3RydXN0X2hjc3VtICYgSE5fVFJVU1Rf SENTVU1fVURQKSkgewotCQkJCQlzYy0+aG5fY3N1bV90cnVzdGVkKys7CisJCQkJICAgIChyeHIt PmhuX3RydXN0X2hjc3VtICYKKwkJCQkgICAgIEhOX1RSVVNUX0hDU1VNX1VEUCkpIHsKKwkJCQkJ cnhyLT5obl9jc3VtX3RydXN0ZWQrKzsKIAkJCQkJbV9uZXctPm1fcGt0aGRyLmNzdW1fZmxhZ3Mg fD0KIAkJCQkJICAgKENTVU1fSVBfQ0hFQ0tFRCB8IENTVU1fSVBfVkFMSUQgfAogCQkJCQkgICAg Q1NVTV9EQVRBX1ZBTElEIHwgQ1NVTV9QU0VVRE9fSERSKTsKIAkJCQkJbV9uZXctPm1fcGt0aGRy LmNzdW1fZGF0YSA9IDB4ZmZmZjsKIAkJCQl9CiAJCQl9IGVsc2UgaWYgKHByICE9IElQUFJPVE9f RE9ORSAmJiBkb19jc3VtICYmCi0JCQkgICAgKHNjLT5obl90cnVzdF9oY3N1bSAmIEhOX1RSVVNU X0hDU1VNX0lQKSkgewotCQkJCXNjLT5obl9jc3VtX3RydXN0ZWQrKzsKKwkJCSAgICAocnhyLT5o bl90cnVzdF9oY3N1bSAmIEhOX1RSVVNUX0hDU1VNX0lQKSkgeworCQkJCXJ4ci0+aG5fY3N1bV90 cnVzdGVkKys7CiAJCQkJbV9uZXctPm1fcGt0aGRyLmNzdW1fZmxhZ3MgfD0KIAkJCQkgICAgKENT VU1fSVBfQ0hFQ0tFRCB8IENTVU1fSVBfVkFMSUQpOwogCQkJfQpAQCAtMTMwOSwxMCArMTI1MSwx MCBAQAogCiAJaWYgKChpZnAtPmlmX2NhcGVuYWJsZSAmIElGQ0FQX0xSTykgJiYgZG9fbHJvKSB7 CiAjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQotCQlzdHJ1Y3QgbHJvX2N0cmwg KmxybyA9ICZzYy0+aG5fbHJvOworCQlzdHJ1Y3QgbHJvX2N0cmwgKmxybyA9ICZyeHItPmhuX2xy bzsKIAogCQlpZiAobHJvLT5scm9fY250KSB7Ci0JCQlzYy0+aG5fbHJvX3RyaWVkKys7CisJCQly eHItPmhuX2xyb190cmllZCsrOwogCQkJaWYgKHRjcF9scm9fcngobHJvLCBtX25ldywgMCkgPT0g MCkgewogCQkJCS8qIERPTkUhICovCiAJCQkJcmV0dXJuIDA7CkBAIC0xMzkyLDggKzEzMzQsMTcg QEAKIAkJICogTWFrZSBzdXJlIHRoYXQgTFJPIGFnZ3JlZ2F0aW9uIGxlbmd0aCBsaW1pdCBpcyBz dGlsbAogCQkgKiB2YWxpZCwgYWZ0ZXIgdGhlIE1UVSBjaGFuZ2UuCiAJCSAqLwotCQlpZiAoc2Mt PmhuX2xyby5scm9fbGVuZ3RoX2xpbSA8IEhOX0xST19MRU5MSU1fTUlOKGlmcCkpCi0JCQlzYy0+ aG5fbHJvLmxyb19sZW5ndGhfbGltID0gSE5fTFJPX0xFTkxJTV9NSU4oaWZwKTsKKwkJTlZfTE9D SyhzYyk7CisJCWlmIChzYy0+aG5fcnhfcmluZ1swXS5obl9scm8ubHJvX2xlbmd0aF9saW0gPAor CQkgICAgSE5fTFJPX0xFTkxJTV9NSU4oaWZwKSkgeworCQkJaW50IGk7CisKKwkJCWZvciAoaSA9 IDA7IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsraSkgeworCQkJCXNjLT5obl9yeF9yaW5nW2ld LmhuX2xyby5scm9fbGVuZ3RoX2xpbSA9CisJCQkJICAgIEhOX0xST19MRU5MSU1fTUlOKGlmcCk7 CisJCQl9CisJCX0KKwkJTlZfVU5MT0NLKHNjKTsKIAogCQlkbyB7CiAJCQlOVl9MT0NLKHNjKTsK QEAgLTE3MDUsMzIgKzE2NTYsMzUgQEAKIHsKIAlzdHJ1Y3QgaG5fc29mdGMgKnNjID0gYXJnMTsK IAl1bnNpZ25lZCBpbnQgbGVubGltOwotCWludCBlcnJvcjsKKwlpbnQgZXJyb3IsIGk7CiAKLQls ZW5saW0gPSBzYy0+aG5fbHJvLmxyb19sZW5ndGhfbGltOworCWxlbmxpbSA9IHNjLT5obl9yeF9y aW5nWzBdLmhuX2xyby5scm9fbGVuZ3RoX2xpbTsKIAllcnJvciA9IHN5c2N0bF9oYW5kbGVfaW50 KG9pZHAsICZsZW5saW0sIDAsIHJlcSk7CiAJaWYgKGVycm9yIHx8IHJlcS0+bmV3cHRyID09IE5V TEwpCiAJCXJldHVybiBlcnJvcjsKIAogCWlmIChsZW5saW0gPCBITl9MUk9fTEVOTElNX01JTihz Yy0+aG5faWZwKSB8fAogCSAgICBsZW5saW0gPiBUQ1BfTFJPX0xFTkdUSF9NQVgpCiAJCXJldHVy biBFSU5WQUw7CiAKLQlzYy0+aG5fbHJvLmxyb19sZW5ndGhfbGltID0gbGVubGltOworCU5WX0xP Q0soc2MpOworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsraSkKKwkJc2Mt PmhuX3J4X3JpbmdbaV0uaG5fbHJvLmxyb19sZW5ndGhfbGltID0gbGVubGltOworCU5WX1VOTE9D SyhzYyk7CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKIGhuX2xyb19hY2tjbnRfc3lzY3Rs KFNZU0NUTF9IQU5ETEVSX0FSR1MpCiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9IGFyZzE7Ci0J aW50IGFja2NudCwgZXJyb3I7CisJaW50IGFja2NudCwgZXJyb3IsIGk7CiAKIAkvKgogCSAqIGxy b19hY2tjbnRfbGltIGlzIGFwcGVuZCBjb3VudCBsaW1pdCwKIAkgKiArMSB0byB0dXJuIGl0IGlu dG8gYWdncmVnYXRpb24gbGltaXQuCiAJICovCi0JYWNrY250ID0gc2MtPmhuX2xyby5scm9fYWNr Y250X2xpbSArIDE7CisJYWNrY250ID0gc2MtPmhuX3J4X3JpbmdbMF0uaG5fbHJvLmxyb19hY2tj bnRfbGltICsgMTsKIAllcnJvciA9IHN5c2N0bF9oYW5kbGVfaW50KG9pZHAsICZhY2tjbnQsIDAs IHJlcSk7CiAJaWYgKGVycm9yIHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCiAJCXJldHVybiBlcnJv cjsKQEAgLTE3NDIsMzAgKzE2OTYsMzggQEAKIAkgKiBDb252ZXJ0IGFnZ3JlZ2F0aW9uIGxpbWl0 IGJhY2sgdG8gYXBwZW5kCiAJICogY291bnQgbGltaXQuCiAJICovCi0Jc2MtPmhuX2xyby5scm9f YWNrY250X2xpbSA9IGFja2NudCAtIDE7CisJLS1hY2tjbnQ7CisJTlZfTE9DSyhzYyk7CisJZm9y IChpID0gMDsgaSA8IHNjLT5obl9yeF9yaW5nX2NudDsgKytpKQorCQlzYy0+aG5fcnhfcmluZ1tp XS5obl9scm8ubHJvX2Fja2NudF9saW0gPSBhY2tjbnQ7CisJTlZfVU5MT0NLKHNjKTsKIAlyZXR1 cm4gMDsKIH0KIAogc3RhdGljIGludAogaG5fdHJ1c3RfaGNzdW1fc3lzY3RsKFNZU0NUTF9IQU5E TEVSX0FSR1MpCiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9IGFyZzE7CiAJaW50IGhjc3VtID0g YXJnMjsKLQlpbnQgb24sIGVycm9yOworCWludCBvbiwgZXJyb3IsIGk7CiAKIAlvbiA9IDA7Ci0J aWYgKHNjLT5obl90cnVzdF9oY3N1bSAmIGhjc3VtKQorCWlmIChzYy0+aG5fcnhfcmluZ1swXS5o bl90cnVzdF9oY3N1bSAmIGhjc3VtKQogCQlvbiA9IDE7CiAKIAllcnJvciA9IHN5c2N0bF9oYW5k bGVfaW50KG9pZHAsICZvbiwgMCwgcmVxKTsKIAlpZiAoZXJyb3IgfHwgcmVxLT5uZXdwdHIgPT0g TlVMTCkKIAkJcmV0dXJuIGVycm9yOwogCiAJTlZfTE9DSyhzYyk7Ci0JaWYgKG9uKQotCQlzYy0+ aG5fdHJ1c3RfaGNzdW0gfD0gaGNzdW07Ci0JZWxzZQotCQlzYy0+aG5fdHJ1c3RfaGNzdW0gJj0g fmhjc3VtOworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsraSkgeworCQlz dHJ1Y3QgaG5fcnhfcmluZyAqcnhyID0gJnNjLT5obl9yeF9yaW5nW2ldOworCisJCWlmIChvbikK KwkJCXJ4ci0+aG5fdHJ1c3RfaGNzdW0gfD0gaGNzdW07CisJCWVsc2UKKwkJCXJ4ci0+aG5fdHJ1 c3RfaGNzdW0gJj0gfmhjc3VtOworCX0KIAlOVl9VTkxPQ0soc2MpOwogCXJldHVybiAwOwogfQpA QCAtMTc5MCw2ICsxNzUyLDU4IEBACiB9CiAKIHN0YXRpYyBpbnQKK2huX3J4X3N0YXRfdWxvbmdf c3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpCit7CisJc3RydWN0IGhuX3NvZnRjICpzYyA9IGFy ZzE7CisJaW50IG9mcyA9IGFyZzIsIGksIGVycm9yOworCXN0cnVjdCBobl9yeF9yaW5nICpyeHI7 CisJdV9sb25nIHN0YXQ7CisKKwlzdGF0ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4 X3JpbmdfY250OyArK2kpIHsKKwkJcnhyID0gJnNjLT5obl9yeF9yaW5nW2ldOworCQlzdGF0ICs9 ICooKHVfbG9uZyAqKSgodWludDhfdCAqKXJ4ciArIG9mcykpOworCX0KKworCWVycm9yID0gc3lz Y3RsX2hhbmRsZV9sb25nKG9pZHAsICZzdGF0LCAwLCByZXEpOworCWlmIChlcnJvciB8fCByZXEt Pm5ld3B0ciA9PSBOVUxMKQorCQlyZXR1cm4gZXJyb3I7CisKKwkvKiBaZXJvIG91dCB0aGlzIHN0 YXQuICovCisJZm9yIChpID0gMDsgaSA8IHNjLT5obl9yeF9yaW5nX2NudDsgKytpKSB7CisJCXJ4 ciA9ICZzYy0+aG5fcnhfcmluZ1tpXTsKKwkJKigodV9sb25nICopKCh1aW50OF90ICopcnhyICsg b2ZzKSkgPSAwOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAoraG5fcnhfc3RhdF91 NjRfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpCit7CisJc3RydWN0IGhuX3NvZnRjICpzYyA9 IGFyZzE7CisJaW50IG9mcyA9IGFyZzIsIGksIGVycm9yOworCXN0cnVjdCBobl9yeF9yaW5nICpy eHI7CisJdWludDY0X3Qgc3RhdDsKKworCXN0YXQgPSAwOworCWZvciAoaSA9IDA7IGkgPCBzYy0+ aG5fcnhfcmluZ19jbnQ7ICsraSkgeworCQlyeHIgPSAmc2MtPmhuX3J4X3JpbmdbaV07CisJCXN0 YXQgKz0gKigodWludDY0X3QgKikoKHVpbnQ4X3QgKilyeHIgKyBvZnMpKTsKKwl9CisKKwllcnJv ciA9IHN5c2N0bF9oYW5kbGVfNjQob2lkcCwgJnN0YXQsIDAsIHJlcSk7CisJaWYgKGVycm9yIHx8 IHJlcS0+bmV3cHRyID09IE5VTEwpCisJCXJldHVybiBlcnJvcjsKKworCS8qIFplcm8gb3V0IHRo aXMgc3RhdC4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhuX3J4X3JpbmdfY250OyArK2kpIHsK KwkJcnhyID0gJnNjLT5obl9yeF9yaW5nW2ldOworCQkqKCh1aW50NjRfdCAqKSgodWludDhfdCAq KXJ4ciArIG9mcykpID0gMDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKIGhuX2No ZWNrX2lwbGVuKGNvbnN0IHN0cnVjdCBtYnVmICptLCBpbnQgaG9mZikKIHsKIAljb25zdCBzdHJ1 Y3QgaXAgKmlwOwpAQCAtMTg3Niw2ICsxODkwLDEzNiBAQAogCSpwYWRkciA9IHNlZ3MtPmRzX2Fk ZHI7CiB9CiAKK3N0YXRpYyB2b2lkCitobl9jcmVhdGVfcnhfZGF0YShzdHJ1Y3QgaG5fc29mdGMg KnNjKQoreworCXN0cnVjdCBzeXNjdGxfb2lkX2xpc3QgKmNoaWxkOworCXN0cnVjdCBzeXNjdGxf Y3R4X2xpc3QgKmN0eDsKKwlkZXZpY2VfdCBkZXYgPSBzYy0+aG5fZGV2OworI2lmIGRlZmluZWQo SU5FVCkgfHwgZGVmaW5lZChJTkVUNikKKyNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSAxMTAwMDk1 CisJaW50IGxyb2VudF9jbnQ7CisjZW5kaWYKKyNlbmRpZgorCWludCBpOworCisJc2MtPmhuX3J4 X3JpbmdfY250ID0gMTsgLyogVE9ETzogdlJTUyAqLworCXNjLT5obl9yeF9yaW5nID0gbWFsbG9j KHNpemVvZihzdHJ1Y3QgaG5fcnhfcmluZykgKiBzYy0+aG5fcnhfcmluZ19jbnQsCisJICAgIE1f TkVUVlNDLCBNX1dBSVRPSyB8IE1fWkVSTyk7CisKKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmlu ZWQoSU5FVDYpCisjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQorCWxyb2VudF9jbnQg PSBobl9scm9fZW50cnlfY291bnQ7CisJaWYgKGxyb2VudF9jbnQgPCBUQ1BfTFJPX0VOVFJJRVMp CisJCWxyb2VudF9jbnQgPSBUQ1BfTFJPX0VOVFJJRVM7CisJZGV2aWNlX3ByaW50ZihkZXYsICJM Uk86IGVudHJ5IGNvdW50ICVkXG4iLCBscm9lbnRfY250KTsKKyNlbmRpZgorI2VuZGlmCS8qIElO RVQgfHwgSU5FVDYgKi8KKworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsr aSkgeworCQlzdHJ1Y3QgaG5fcnhfcmluZyAqcnhyID0gJnNjLT5obl9yeF9yaW5nW2ldOworCisJ CWlmIChobl90cnVzdF9ob3N0dGNwKQorCQkJcnhyLT5obl90cnVzdF9oY3N1bSB8PSBITl9UUlVT VF9IQ1NVTV9UQ1A7CisJCWlmIChobl90cnVzdF9ob3N0dWRwKQorCQkJcnhyLT5obl90cnVzdF9o Y3N1bSB8PSBITl9UUlVTVF9IQ1NVTV9VRFA7CisJCWlmIChobl90cnVzdF9ob3N0aXApCisJCQly eHItPmhuX3RydXN0X2hjc3VtIHw9IEhOX1RSVVNUX0hDU1VNX0lQOworCisJCS8qCisJCSAqIElu aXRpYWxpemUgTFJPLgorCQkgKi8KKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYp CisjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gMTEwMDA5NQorCQl0Y3BfbHJvX2luaXRfYXJncygm cnhyLT5obl9scm8sIHNjLT5obl9pZnAsIGxyb2VudF9jbnQsIDApOworI2Vsc2UKKwkJdGNwX2xy b19pbml0KCZyeHItPmhuX2xybyk7CisJCXJ4ci0+aG5fbHJvLmlmcCA9IHNjLT5obl9pZnA7Cisj ZW5kaWYKKwkJcnhyLT5obl9scm8ubHJvX2xlbmd0aF9saW0gPSBITl9MUk9fTEVOTElNX0RFRjsK KwkJcnhyLT5obl9scm8ubHJvX2Fja2NudF9saW0gPSBITl9MUk9fQUNLQ05UX0RFRjsKKyNlbmRp ZgkvKiBJTkVUIHx8IElORVQ2ICovCisJfQorCisJY3R4ID0gZGV2aWNlX2dldF9zeXNjdGxfY3R4 KGRldik7CisJY2hpbGQgPSBTWVNDVExfQ0hJTERSRU4oZGV2aWNlX2dldF9zeXNjdGxfdHJlZShk ZXYpKTsKKworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19xdWV1 ZWQiLAorCSAgICBDVExUWVBFX1U2NCB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29mZnNldG9m KHN0cnVjdCBobl9yeF9yaW5nLCBobl9scm8ubHJvX3F1ZXVlZCksCisJICAgIGhuX3J4X3N0YXRf dTY0X3N5c2N0bCwgIkxVIiwgIkxSTyBxdWV1ZWQiKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBj aGlsZCwgT0lEX0FVVE8sICJscm9fZmx1c2hlZCIsCisJICAgIENUTFRZUEVfVTY0IHwgQ1RMRkxB R19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3J4X3JpbmcsIGhuX2xyby5scm9f Zmx1c2hlZCksCisJICAgIGhuX3J4X3N0YXRfdTY0X3N5c2N0bCwgIkxVIiwgIkxSTyBmbHVzaGVk Iik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX3RyaWVkIiwK KwkgICAgQ1RMVFlQRV9VTE9ORyB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29mZnNldG9mKHN0 cnVjdCBobl9yeF9yaW5nLCBobl9scm9fdHJpZWQpLAorCSAgICBobl9yeF9zdGF0X3Vsb25nX3N5 c2N0bCwgIkxVIiwgIiMgb2YgTFJPIHRyaWVzIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX2xlbmd0aF9saW0iLAorCSAgICBDVExUWVBFX1VJTlQgfCBDVExG TEFHX1JXLCBzYywgMCwgaG5fbHJvX2xlbmxpbV9zeXNjdGwsICJJVSIsCisJICAgICJNYXggIyBv ZiBkYXRhIGJ5dGVzIHRvIGJlIGFnZ3JlZ2F0ZWQgYnkgTFJPIik7CisJU1lTQ1RMX0FERF9QUk9D KGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX2Fja2NudF9saW0iLAorCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCAwLCBobl9scm9fYWNrY250X3N5c2N0bCwgIkkiLAorCSAgICAi TWF4ICMgb2YgQUNLcyB0byBiZSBhZ2dyZWdhdGVkIGJ5IExSTyIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInRydXN0X2hvc3R0Y3AiLAorCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCBITl9UUlVTVF9IQ1NVTV9UQ1AsCisJICAgIGhuX3RydXN0X2hj c3VtX3N5c2N0bCwgIkkiLAorCSAgICAiVHJ1c3QgdGNwIHNlZ2VtZW50IHZlcmlmaWNhdGlvbiBv biBob3N0IHNpZGUsICIKKwkgICAgIndoZW4gY3N1bSBpbmZvIGlzIG1pc3NpbmciKTsKKwlTWVND VExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0cnVzdF9ob3N0dWRwIiwKKwkgICAg Q1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywgSE5fVFJVU1RfSENTVU1fVURQLAorCSAgICBo bl90cnVzdF9oY3N1bV9zeXNjdGwsICJJIiwKKwkgICAgIlRydXN0IHVkcCBkYXRhZ3JhbSB2ZXJp ZmljYXRpb24gb24gaG9zdCBzaWRlLCAiCisJICAgICJ3aGVuIGNzdW0gaW5mbyBpcyBtaXNzaW5n Iik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHJ1c3RfaG9zdGlw IiwKKwkgICAgQ1RMVFlQRV9JTlQgfCBDVExGTEFHX1JXLCBzYywgSE5fVFJVU1RfSENTVU1fSVAs CisJICAgIGhuX3RydXN0X2hjc3VtX3N5c2N0bCwgIkkiLAorCSAgICAiVHJ1c3QgaXAgcGFja2V0 IHZlcmlmaWNhdGlvbiBvbiBob3N0IHNpZGUsICIKKwkgICAgIndoZW4gY3N1bSBpbmZvIGlzIG1p c3NpbmciKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJjc3VtX2lw IiwKKwkgICAgQ1RMVFlQRV9VTE9ORyB8IENUTEZMQUdfUlcsIHNjLAorCSAgICBfX29mZnNldG9m KHN0cnVjdCBobl9yeF9yaW5nLCBobl9jc3VtX2lwKSwKKwkgICAgaG5fcnhfc3RhdF91bG9uZ19z eXNjdGwsICJMVSIsICJSWENTVU0gSVAiKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwg T0lEX0FVVE8sICJjc3VtX3RjcCIsCisJICAgIENUTFRZUEVfVUxPTkcgfCBDVExGTEFHX1JXLCBz YywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmluZywgaG5fY3N1bV90Y3ApLAorCSAg ICBobl9yeF9zdGF0X3Vsb25nX3N5c2N0bCwgIkxVIiwgIlJYQ1NVTSBUQ1AiKTsKKwlTWVNDVExf QUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJjc3VtX3VkcCIsCisJICAgIENUTFRZUEVf VUxPTkcgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmlu ZywgaG5fY3N1bV91ZHApLAorCSAgICBobl9yeF9zdGF0X3Vsb25nX3N5c2N0bCwgIkxVIiwgIlJY Q1NVTSBVRFAiKTsKKwlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJjc3Vt X3RydXN0ZWQiLAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9f b2Zmc2V0b2Yoc3RydWN0IGhuX3J4X3JpbmcsIGhuX2NzdW1fdHJ1c3RlZCksCisJICAgIGhuX3J4 X3N0YXRfdWxvbmdfc3lzY3RsLCAiTFUiLAorCSAgICAiIyBvZiBwYWNrZXRzIHRoYXQgd2UgdHJ1 c3QgaG9zdCdzIGNzdW0gdmVyaWZpY2F0aW9uIik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAic21hbGxfcGt0cyIsCisJICAgIENUTFRZUEVfVUxPTkcgfCBDVExGTEFH X1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fcnhfcmluZywgaG5fc21hbGxfcGt0 cyksCisJICAgIGhuX3J4X3N0YXRfdWxvbmdfc3lzY3RsLCAiTFUiLCAiIyBvZiBzbWFsbCBwYWNr ZXRzIHJlY2VpdmVkIik7Cit9CisKK3N0YXRpYyB2b2lkCitobl9kZXN0cm95X3J4X2RhdGEoc3Ry dWN0IGhuX3NvZnRjICpzYykKK3sKKyNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYp CisJaW50IGk7CisjZW5kaWYKKworCWlmIChzYy0+aG5fcnhfcmluZ19jbnQgPT0gMCkKKwkJcmV0 dXJuOworCisjaWYgZGVmaW5lZChJTkVUKSB8fCBkZWZpbmVkKElORVQ2KQorCWZvciAoaSA9IDA7 IGkgPCBzYy0+aG5fcnhfcmluZ19jbnQ7ICsraSkKKwkJdGNwX2xyb19mcmVlKCZzYy0+aG5fcnhf cmluZ1tpXS5obl9scm8pOworI2VuZGlmCisJZnJlZShzYy0+aG5fcnhfcmluZywgTV9ORVRWU0Mp OworCXNjLT5obl9yeF9yaW5nID0gTlVMTDsKKworCXNjLT5obl9yeF9yaW5nX2NudCA9IDA7Cit9 CisKIHN0YXRpYyBpbnQKIGhuX2NyZWF0ZV90eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpCiB7 CmRpZmYgLS1naXQgYS9oZWFkL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmggYi9o ZWFkL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKLS0tIGEvaGVhZC9zeXMvZGV2 L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCisrKyBiL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0 dnNjL2h2X25ldF92c2MuaApAQCAtOTkzLDYgKzk5MywyNCBAQAogc3RydWN0IGhuX3R4ZGVzYzsK IFNMSVNUX0hFQUQoaG5fdHhkZXNjX2xpc3QsIGhuX3R4ZGVzYyk7CiAKK3N0cnVjdCBobl9yeF9y aW5nIHsKKwlzdHJ1Y3QgbHJvX2N0cmwJaG5fbHJvOworCisJLyogVHJ1c3QgY3N1bSB2ZXJpZmlj YXRpb24gb24gaG9zdCBzaWRlICovCisJaW50CQlobl90cnVzdF9oY3N1bTsJLyogSE5fVFJVU1Rf SENTVU1fICovCisKKwl1X2xvbmcJCWhuX2NzdW1faXA7CisJdV9sb25nCQlobl9jc3VtX3RjcDsK Kwl1X2xvbmcJCWhuX2NzdW1fdWRwOworCXVfbG9uZwkJaG5fY3N1bV90cnVzdGVkOworCXVfbG9u ZwkJaG5fbHJvX3RyaWVkOworCXVfbG9uZwkJaG5fc21hbGxfcGt0czsKK30gX19hbGlnbmVkKENB Q0hFX0xJTkVfU0laRSk7CisKKyNkZWZpbmUgSE5fVFJVU1RfSENTVU1fSVAJMHgwMDAxCisjZGVm aW5lIEhOX1RSVVNUX0hDU1VNX1RDUAkweDAwMDIKKyNkZWZpbmUgSE5fVFJVU1RfSENTVU1fVURQ CTB4MDAwNAorCiAvKgogICogRGV2aWNlLXNwZWNpZmljIHNvZnRjIHN0cnVjdHVyZQogICovCkBA IC0xMDI5LDI4ICsxMDQ3LDE2IEBACiAJc3RydWN0IHRhc2sJaG5fc3RhcnRfdGFzazsKIAlzdHJ1 Y3QgdGFzawlobl90eGVvZl90YXNrOwogCi0Jc3RydWN0IGxyb19jdHJsCWhuX2xybzsKLQotCS8q IFRydXN0IGNzdW0gdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSAqLwotCWludAkJaG5fdHJ1c3Rf aGNzdW07CS8qIEhOX1RSVVNUX0hDU1VNXyAqLworCWludAkJaG5fcnhfcmluZ19jbnQ7CisJc3Ry dWN0IGhuX3J4X3JpbmcgKmhuX3J4X3Jpbmc7CiAKLQl1X2xvbmcJCWhuX2NzdW1faXA7Ci0JdV9s b25nCQlobl9jc3VtX3RjcDsKLQl1X2xvbmcJCWhuX2NzdW1fdWRwOwotCXVfbG9uZwkJaG5fY3N1 bV90cnVzdGVkOwotCXVfbG9uZwkJaG5fbHJvX3RyaWVkOwotCXVfbG9uZwkJaG5fc21hbGxfcGt0 czsKIAl1X2xvbmcJCWhuX25vX3R4ZGVzY3M7CiAJdV9sb25nCQlobl9zZW5kX2ZhaWxlZDsKIAl1 X2xvbmcJCWhuX3R4ZG1hX2ZhaWxlZDsKIAl1X2xvbmcJCWhuX3R4X2NvbGxhcHNlZDsKIAl1X2xv bmcJCWhuX3R4X2NoaW1uZXk7CiB9IGhuX3NvZnRjX3Q7CiAKLSNkZWZpbmUgSE5fVFJVU1RfSENT VU1fSVAJMHgwMDAxCi0jZGVmaW5lIEhOX1RSVVNUX0hDU1VNX1RDUAkweDAwMDIKLSNkZWZpbmUg SE5fVFJVU1RfSENTVU1fVURQCTB4MDAwNAotCiAvKgogICogRXh0ZXJucwogICovCgo= --b1_c7fd9e765186f2a1317a0a5c23ff65d7-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:23:36 2016 Return-Path: Delivered-To: freebsd-virtualization@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 BB18CAAC7E4 for ; Thu, 18 Feb 2016 07:23:36 +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 9BC2C1F60 for ; Thu, 18 Feb 2016 07:23:36 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 94CD43321D80; Thu, 18 Feb 2016 07:23:36 +0000 (UTC) Date: Thu, 18 Feb 2016 07:23:36 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5276+333+0427790033fcd928@reviews.freebsd.org Subject: [Differential] [Closed] D5276: hyperv/hn: Use taskqueue_enqueue() Message-ID: <56e143db0cd2bdf507d0cb26c25fac76@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: D5276: hyperv/hn: Use taskqueue_enqueue() 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 In-Reply-To: References: Thread-Index: MzI0MTg0N2Y0NTM5MGMyZDRiNmVhNmJlNmE2IFbFcXg= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_56e143db0cd2bdf507d0cb26c25fac76" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:23:36 -0000 --b1_56e143db0cd2bdf507d0cb26c25fac76 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295745: hyperv/hn: Use taskqueue_enqueue() (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5276?vs=13288&id=13403#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5276?vs=13288&id=13403 REVISION DETAIL https://reviews.freebsd.org/D5276 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -1549,7 +1549,7 @@ return; } do_sched: - taskqueue_enqueue_fast(sc->hn_tx_taskq, &sc->hn_start_task); + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_start_task); } static void @@ -1566,10 +1566,8 @@ atomic_clear_int(&ifp->if_drv_flags, IFF_DRV_OACTIVE); sched = hn_start_locked(ifp, sc->hn_direct_tx_size); NV_UNLOCK(sc); - if (sched) { - taskqueue_enqueue_fast(sc->hn_tx_taskq, - &sc->hn_start_task); - } + if (sched) + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_start_task); } else { do_sched: /* @@ -1579,7 +1577,7 @@ * races. */ atomic_clear_int(&ifp->if_drv_flags, IFF_DRV_OACTIVE); - taskqueue_enqueue_fast(sc->hn_tx_taskq, &sc->hn_txeof_task); + taskqueue_enqueue(sc->hn_tx_taskq, &sc->hn_txeof_task); } } EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_56e143db0cd2bdf507d0cb26c25fac76 Content-Type: text/x-patch; charset=utf-8; name="D5276.13403.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5276.13403.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTE1NDksNyArMTU0OSw3IEBACiAJCQlyZXR1cm47CiAJfQogZG9fc2NoZWQ6Ci0JdGFz a3F1ZXVlX2VucXVldWVfZmFzdChzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fc3RhcnRfdGFzayk7 CisJdGFza3F1ZXVlX2VucXVldWUoc2MtPmhuX3R4X3Rhc2txLCAmc2MtPmhuX3N0YXJ0X3Rhc2sp OwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTU2NiwxMCArMTU2Niw4IEBACiAJCWF0b21pY19jbGVh cl9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOwogCQlzY2hlZCA9IGhu X3N0YXJ0X2xvY2tlZChpZnAsIHNjLT5obl9kaXJlY3RfdHhfc2l6ZSk7CiAJCU5WX1VOTE9DSyhz Yyk7Ci0JCWlmIChzY2hlZCkgewotCQkJdGFza3F1ZXVlX2VucXVldWVfZmFzdChzYy0+aG5fdHhf dGFza3EsCi0JCQkgICAgJnNjLT5obl9zdGFydF90YXNrKTsKLQkJfQorCQlpZiAoc2NoZWQpCisJ CQl0YXNrcXVldWVfZW5xdWV1ZShzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fc3RhcnRfdGFzayk7 CiAJfSBlbHNlIHsKIGRvX3NjaGVkOgogCQkvKgpAQCAtMTU3OSw3ICsxNTc3LDcgQEAKIAkJICog cmFjZXMuCiAJCSAqLwogCQlhdG9taWNfY2xlYXJfaW50KCZpZnAtPmlmX2Rydl9mbGFncywgSUZG X0RSVl9PQUNUSVZFKTsKLQkJdGFza3F1ZXVlX2VucXVldWVfZmFzdChzYy0+aG5fdHhfdGFza3Es ICZzYy0+aG5fdHhlb2ZfdGFzayk7CisJCXRhc2txdWV1ZV9lbnF1ZXVlKHNjLT5obl90eF90YXNr cSwgJnNjLT5obl90eGVvZl90YXNrKTsKIAl9CiB9CiAKCg== --b1_56e143db0cd2bdf507d0cb26c25fac76-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:29:13 2016 Return-Path: Delivered-To: freebsd-virtualization@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 CE2A1AAC9D4 for ; Thu, 18 Feb 2016 07:29:13 +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 B1535372 for ; Thu, 18 Feb 2016 07:29:13 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id AEED43321036; Thu, 18 Feb 2016 07:29:13 +0000 (UTC) Date: Thu, 18 Feb 2016 07:29:13 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5282+333+bde49f8f80ca0f1f@reviews.freebsd.org Subject: [Differential] [Closed] D5282: hyperv/hn: Use non-fast taskqueue for transmission 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: D5282: hyperv/hn: Use non-fast taskqueue for transmission 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 In-Reply-To: References: Thread-Index: MTA0OWYzZmY5Yjk5MjNmYjE3MzdmZmI1ZDFjIFbFcsk= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_d1c613bbbc84ffe83bcc8a56269770ed" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:29:14 -0000 --b1_d1c613bbbc84ffe83bcc8a56269770ed Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295746: hyperv/hn: Use non-fast taskqueue for transmission (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5282?vs=13307&id=13404#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5282?vs=13307&id=13404 REVISION DETAIL https://reviews.freebsd.org/D5282 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -368,7 +368,7 @@ sc->hn_direct_tx_size = hn_direct_tx_size; if (hn_tx_taskq == NULL) { - sc->hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + sc->hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &sc->hn_tx_taskq); taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", device_get_nameunit(dev)); @@ -2178,7 +2178,7 @@ if (!hn_share_tx_taskq) return; - hn_tx_taskq = taskqueue_create_fast("hn_tx", M_WAITOK, + hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &hn_tx_taskq); taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); } EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_d1c613bbbc84ffe83bcc8a56269770ed Content-Type: text/x-patch; charset=utf-8; name="D5282.13404.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5282.13404.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTM2OCw3ICszNjgsNyBAQAogCXNjLT5obl9kaXJlY3RfdHhfc2l6ZSA9IGhuX2RpcmVj dF90eF9zaXplOwogCiAJaWYgKGhuX3R4X3Rhc2txID09IE5VTEwpIHsKLQkJc2MtPmhuX3R4X3Rh c2txID0gdGFza3F1ZXVlX2NyZWF0ZV9mYXN0KCJobl90eCIsIE1fV0FJVE9LLAorCQlzYy0+aG5f dHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlKCJobl90eCIsIE1fV0FJVE9LLAogCQkgICAgdGFz a3F1ZXVlX3RocmVhZF9lbnF1ZXVlLCAmc2MtPmhuX3R4X3Rhc2txKTsKIAkJdGFza3F1ZXVlX3N0 YXJ0X3RocmVhZHMoJnNjLT5obl90eF90YXNrcSwgMSwgUElfTkVULCAiJXMgdHgiLAogCQkgICAg ZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsKQEAgLTIxNzgsNyArMjE3OCw3IEBACiAJaWYgKCFo bl9zaGFyZV90eF90YXNrcSkKIAkJcmV0dXJuOwogCi0JaG5fdHhfdGFza3EgPSB0YXNrcXVldWVf Y3JlYXRlX2Zhc3QoImhuX3R4IiwgTV9XQUlUT0ssCisJaG5fdHhfdGFza3EgPSB0YXNrcXVldWVf Y3JlYXRlKCJobl90eCIsIE1fV0FJVE9LLAogCSAgICB0YXNrcXVldWVfdGhyZWFkX2VucXVldWUs ICZobl90eF90YXNrcSk7CiAJdGFza3F1ZXVlX3N0YXJ0X3RocmVhZHMoJmhuX3R4X3Rhc2txLCAx LCBQSV9ORVQsICJobiB0eCIpOwogfQoK --b1_d1c613bbbc84ffe83bcc8a56269770ed-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:44:34 2016 Return-Path: Delivered-To: freebsd-virtualization@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 5603AAAB23D for ; Thu, 18 Feb 2016 07:44:34 +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 41D30EEA for ; Thu, 18 Feb 2016 07:44:34 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 3FD41332159E; Thu, 18 Feb 2016 07:44:34 +0000 (UTC) Date: Thu, 18 Feb 2016 07:44:34 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5290+333+25c261f1166ad90e@reviews.freebsd.org Subject: [Differential] [Closed] D5290: hyperv/hn: Use buf_ring for txdesc list Message-ID: <0dd4489443fcaafd71258da61deafb14@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: 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 In-Reply-To: References: Thread-Index: OTExNDkzMzlmNjhmMjIyNzRkZmU3MzcwM2U5IFbFdmI= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_0dd4489443fcaafd71258da61deafb14" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:44:34 -0000 --b1_0dd4489443fcaafd71258da61deafb14 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295748: hyperv/hn: Use buf_ring for txdesc list (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5290?vs=13340&id=13406#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5290?vs=13340&id=13406 REVISION DETAIL https://reviews.freebsd.org/D5290 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_0dd4489443fcaafd71258da61deafb14 Content-Type: text/x-patch; charset=utf-8; name="D5290.13406.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5290.13406.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTcwLDYgKzcwLDcgQEAKICNpbmNsdWRlIDxzeXMvbG9jay5oPgogI2luY2x1ZGUgPHN5 cy9zeC5oPgogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyNpbmNsdWRlIDxzeXMvYnVmX3Jpbmcu aD4KIAogI2luY2x1ZGUgPG5ldC9pZi5oPgogI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KQEAgLTE1 MSw3ICsxNTIsOSBAQAogI2RlZmluZSBITl9ESVJFQ1RfVFhfU0laRV9ERUYJCTEyOAogCiBzdHJ1 Y3QgaG5fdHhkZXNjIHsKKyNpZm5kZWYgSE5fVVNFX1RYREVTQ19CVUZSSU5HCiAJU0xJU1RfRU5U UlkoaG5fdHhkZXNjKSBsaW5rOworI2VuZGlmCiAJc3RydWN0IG1idWYJKm07CiAJc3RydWN0IGhu X3R4X3JpbmcgKnR4cjsKIAlpbnQJCXJlZnM7CkBAIC0yNTgsNiArMjYxLDE0IEBACiAKIHN0YXRp YyBzdHJ1Y3QgdGFza3F1ZXVlCSpobl90eF90YXNrcTsKIAorI2lmbmRlZiBITl9VU0VfVFhERVND X0JVRlJJTkcKK3N0YXRpYyBpbnQgaG5fdXNlX3R4ZGVzY19idWZyaW5nID0gMDsKKyNlbHNlCitz dGF0aWMgaW50IGhuX3VzZV90eGRlc2NfYnVmcmluZyA9IDE7CisjZW5kaWYKK1NZU0NUTF9JTlQo X2h3X2huLCBPSURfQVVUTywgdXNlX3R4ZGVzY19idWZyaW5nLCBDVExGTEFHX1JELAorICAgICZo bl91c2VfdHhkZXNjX2J1ZnJpbmcsIDAsICJVc2UgYnVmX3JpbmcgZm9yIFRYIGRlc2NyaXB0b3Jz Iik7CisKIC8qCiAgKiBGb3J3YXJkIGRlY2xhcmF0aW9ucwogICovCkBAIC01NzAsMTMgKzU4MSwx OCBAQAogCiAJdHhkLT5mbGFncyB8PSBITl9UWERfRkxBR19PTkxJU1Q7CiAKKyNpZm5kZWYgSE5f VVNFX1RYREVTQ19CVUZSSU5HCiAJbXR4X2xvY2tfc3BpbigmdHhyLT5obl90eGxpc3Rfc3Bpbik7 CiAJS0FTU0VSVCh0eHItPmhuX3R4ZGVzY19hdmFpbCA+PSAwICYmCiAJICAgIHR4ci0+aG5fdHhk ZXNjX2F2YWlsIDwgdHhyLT5obl90eGRlc2NfY250LAogCSAgICAoInR4ZGVzY19wdXQ6IGludmFs aWQgdHhkIGF2YWlsICVkIiwgdHhyLT5obl90eGRlc2NfYXZhaWwpKTsKIAl0eHItPmhuX3R4ZGVz Y19hdmFpbCsrOwogCVNMSVNUX0lOU0VSVF9IRUFEKCZ0eHItPmhuX3R4bGlzdCwgdHhkLCBsaW5r KTsKIAltdHhfdW5sb2NrX3NwaW4oJnR4ci0+aG5fdHhsaXN0X3NwaW4pOworI2Vsc2UKKwlhdG9t aWNfYWRkX2ludCgmdHhyLT5obl90eGRlc2NfYXZhaWwsIDEpOworCWJ1Zl9yaW5nX2VucXVldWUo dHhyLT5obl90eGRlc2NfYnIsIHR4ZCk7CisjZW5kaWYKIAogCXJldHVybiAxOwogfQpAQCAtNTg2 LDYgKzYwMiw3IEBACiB7CiAJc3RydWN0IGhuX3R4ZGVzYyAqdHhkOwogCisjaWZuZGVmIEhOX1VT RV9UWERFU0NfQlVGUklORwogCW10eF9sb2NrX3NwaW4oJnR4ci0+aG5fdHhsaXN0X3NwaW4pOwog CXR4ZCA9IFNMSVNUX0ZJUlNUKCZ0eHItPmhuX3R4bGlzdCk7CiAJaWYgKHR4ZCAhPSBOVUxMKSB7 CkBAIC01OTUsOCArNjEyLDE0IEBACiAJCVNMSVNUX1JFTU9WRV9IRUFEKCZ0eHItPmhuX3R4bGlz dCwgbGluayk7CiAJfQogCW10eF91bmxvY2tfc3BpbigmdHhyLT5obl90eGxpc3Rfc3Bpbik7Cisj ZWxzZQorCXR4ZCA9IGJ1Zl9yaW5nX2RlcXVldWVfc2ModHhyLT5obl90eGRlc2NfYnIpOworI2Vu ZGlmCiAKIAlpZiAodHhkICE9IE5VTEwpIHsKKyNpZmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcK KwkJYXRvbWljX3N1YnRyYWN0X2ludCgmdHhyLT5obl90eGRlc2NfYXZhaWwsIDEpOworI2VuZGlm CiAJCUtBU1NFUlQodHhkLT5tID09IE5VTEwgJiYgdHhkLT5yZWZzID09IDAgJiYKIAkJICAgICh0 eGQtPmZsYWdzICYgSE5fVFhEX0ZMQUdfT05MSVNUKSwgKCJpbnZhbGlkIHR4ZCIpKTsKIAkJdHhk LT5mbGFncyAmPSB+SE5fVFhEX0ZMQUdfT05MSVNUOwpAQCAtMjA0OCwxMyArMjA3MSwyMCBAQAog CiAJdHhyLT5obl9zYyA9IHNjOwogCisjaWZuZGVmIEhOX1VTRV9UWERFU0NfQlVGUklORwogCW10 eF9pbml0KCZ0eHItPmhuX3R4bGlzdF9zcGluLCAiaG4gdHhsaXN0IiwgTlVMTCwgTVRYX1NQSU4p OworI2VuZGlmCiAJbXR4X2luaXQoJnR4ci0+aG5fdHhfbG9jaywgImhuIHR4IiwgTlVMTCwgTVRY X0RFRik7CiAKIAl0eHItPmhuX3R4ZGVzY19jbnQgPSBITl9UWF9ERVNDX0NOVDsKIAl0eHItPmhu X3R4ZGVzYyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGhuX3R4ZGVzYykgKiB0eHItPmhuX3R4ZGVz Y19jbnQsCiAJICAgIE1fTkVUVlNDLCBNX1dBSVRPSyB8IE1fWkVSTyk7CisjaWZuZGVmIEhOX1VT RV9UWERFU0NfQlVGUklORwogCVNMSVNUX0lOSVQoJnR4ci0+aG5fdHhsaXN0KTsKKyNlbHNlCisJ dHhyLT5obl90eGRlc2NfYnIgPSBidWZfcmluZ19hbGxvYyh0eHItPmhuX3R4ZGVzY19jbnQsIE1f TkVUVlNDLAorCSAgICBNX1dBSVRPSywgJnR4ci0+aG5fdHhfbG9jayk7CisjZW5kaWYKIAogCXR4 ci0+aG5fdHhfdGFza3EgPSBzYy0+aG5fdHhfdGFza3E7CiAJVEFTS19JTklUKCZ0eHItPmhuX3N0 YXJ0X3Rhc2ssIDAsIGhuX3N0YXJ0X3Rhc2tmdW5jLCB0eHIpOwpAQCAtMjE1OCw3ICsyMTg4LDEx IEBACiAKIAkJLyogQWxsIHNldCwgcHV0IGl0IHRvIGxpc3QgKi8KIAkJdHhkLT5mbGFncyB8PSBI Tl9UWERfRkxBR19PTkxJU1Q7CisjaWZuZGVmIEhOX1VTRV9UWERFU0NfQlVGUklORwogCQlTTElT VF9JTlNFUlRfSEVBRCgmdHhyLT5obl90eGxpc3QsIHR4ZCwgbGluayk7CisjZWxzZQorCQlidWZf cmluZ19lbnF1ZXVlKHR4ci0+aG5fdHhkZXNjX2JyLCB0eGQpOworI2VuZGlmCiAJfQogCXR4ci0+ aG5fdHhkZXNjX2F2YWlsID0gdHhyLT5obl90eGRlc2NfY250OwogCkBAIC0yMTkxLDM1ICsyMjI1 LDQ3IEBACiB9CiAKIHN0YXRpYyB2b2lkCitobl90eGRlc2NfZG1hbWFwX2Rlc3Ryb3koc3RydWN0 IGhuX3R4ZGVzYyAqdHhkKQoreworCXN0cnVjdCBobl90eF9yaW5nICp0eHIgPSB0eGQtPnR4cjsK KworCUtBU1NFUlQodHhkLT5tID09IE5VTEwsICgic3RpbGwgaGFzIG1idWYgaW5zdGFsbGVkIikp OworCUtBU1NFUlQoKHR4ZC0+ZmxhZ3MgJiBITl9UWERfRkxBR19ETUFNQVApID09IDAsICgic3Rp bGwgZG1hIG1hcHBlZCIpKTsKKworCWJ1c19kbWFtYXBfdW5sb2FkKHR4ci0+aG5fdHhfcm5kaXNf ZHRhZywgdHhkLT5ybmRpc19tc2dfZG1hcCk7CisJYnVzX2RtYW1lbV9mcmVlKHR4ci0+aG5fdHhf cm5kaXNfZHRhZywgdHhkLT5ybmRpc19tc2csCisJICAgIHR4ZC0+cm5kaXNfbXNnX2RtYXApOwor CWJ1c19kbWFtYXBfZGVzdHJveSh0eHItPmhuX3R4X2RhdGFfZHRhZywgdHhkLT5kYXRhX2RtYXAp OworfQorCitzdGF0aWMgdm9pZAogaG5fZGVzdHJveV90eF9yaW5nKHN0cnVjdCBobl90eF9yaW5n ICp0eHIpCiB7CiAJc3RydWN0IGhuX3R4ZGVzYyAqdHhkOwogCiAJaWYgKHR4ci0+aG5fdHhkZXNj ID09IE5VTEwpCiAJCXJldHVybjsKIAorI2lmbmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKIAl3 aGlsZSAoKHR4ZCA9IFNMSVNUX0ZJUlNUKCZ0eHItPmhuX3R4bGlzdCkpICE9IE5VTEwpIHsKLQkJ S0FTU0VSVCh0eGQtPm0gPT0gTlVMTCwgKCJzdGlsbCBoYXMgbWJ1ZiBpbnN0YWxsZWQiKSk7Ci0J CUtBU1NFUlQoKHR4ZC0+ZmxhZ3MgJiBITl9UWERfRkxBR19ETUFNQVApID09IDAsCi0JCSAgICAo InN0aWxsIGRtYSBtYXBwZWQiKSk7CiAJCVNMSVNUX1JFTU9WRV9IRUFEKCZ0eHItPmhuX3R4bGlz dCwgbGluayk7Ci0KLQkJYnVzX2RtYW1hcF91bmxvYWQodHhyLT5obl90eF9ybmRpc19kdGFnLAot CQkgICAgdHhkLT5ybmRpc19tc2dfZG1hcCk7Ci0JCWJ1c19kbWFtZW1fZnJlZSh0eHItPmhuX3R4 X3JuZGlzX2R0YWcsCi0JCSAgICB0eGQtPnJuZGlzX21zZywgdHhkLT5ybmRpc19tc2dfZG1hcCk7 Ci0KLQkJYnVzX2RtYW1hcF9kZXN0cm95KHR4ci0+aG5fdHhfZGF0YV9kdGFnLCB0eGQtPmRhdGFf ZG1hcCk7CisJCWhuX3R4ZGVzY19kbWFtYXBfZGVzdHJveSh0eGQpOwogCX0KKyNlbHNlCisJd2hp bGUgKCh0eGQgPSBidWZfcmluZ19kZXF1ZXVlX3NjKHR4ci0+aG5fdHhkZXNjX2JyKSkgIT0gTlVM TCkKKwkJaG5fdHhkZXNjX2RtYW1hcF9kZXN0cm95KHR4ZCk7CisjZW5kaWYKIAogCWlmICh0eHIt PmhuX3R4X2RhdGFfZHRhZyAhPSBOVUxMKQogCQlidXNfZG1hX3RhZ19kZXN0cm95KHR4ci0+aG5f dHhfZGF0YV9kdGFnKTsKIAlpZiAodHhyLT5obl90eF9ybmRpc19kdGFnICE9IE5VTEwpCiAJCWJ1 c19kbWFfdGFnX2Rlc3Ryb3kodHhyLT5obl90eF9ybmRpc19kdGFnKTsKIAlmcmVlKHR4ci0+aG5f dHhkZXNjLCBNX05FVFZTQyk7CiAJdHhyLT5obl90eGRlc2MgPSBOVUxMOwogCisjaWZuZGVmIEhO X1VTRV9UWERFU0NfQlVGUklORwogCW10eF9kZXN0cm95KCZ0eHItPmhuX3R4bGlzdF9zcGluKTsK KyNlbmRpZgogCW10eF9kZXN0cm95KCZ0eHItPmhuX3R4X2xvY2spOwogfQogCmRpZmYgLS1naXQg YS9oZWFkL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmggYi9oZWFkL3N5cy9kZXYv aHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2 c2MvaHZfbmV0X3ZzYy5oCisrKyBiL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldF92 c2MuaApAQCAtNTgsNiArNTgsOCBAQAogCiAjaW5jbHVkZSA8ZGV2L2h5cGVydi9pbmNsdWRlL2h5 cGVydi5oPgogCisjZGVmaW5lIEhOX1VTRV9UWERFU0NfQlVGUklORworCiBNQUxMT0NfREVDTEFS RShNX05FVFZTQyk7CiAKICNkZWZpbmUgTlZTUF9JTlZBTElEX1BST1RPQ09MX1ZFUlNJT04gICAg ICAgICAgICgweEZGRkZGRkZGKQpAQCAtOTkwLDggKzk5MiwxMiBAQAogCWh2X2Jvb2xfdWludDhf dAlsaW5rX3N0YXRlOwogfSBuZXR2c2NfZGV2aWNlX2luZm87CiAKKyNpZm5kZWYgSE5fVVNFX1RY REVTQ19CVUZSSU5HCiBzdHJ1Y3QgaG5fdHhkZXNjOwogU0xJU1RfSEVBRChobl90eGRlc2NfbGlz dCwgaG5fdHhkZXNjKTsKKyNlbHNlCitzdHJ1Y3QgYnVmX3Jpbmc7CisjZW5kaWYKIAogc3RydWN0 IGhuX3J4X3JpbmcgewogCXN0cnVjdCBscm9fY3RybAlobl9scm87CkBAIC0xMDEyLDggKzEwMTgs MTIgQEAKICNkZWZpbmUgSE5fVFJVU1RfSENTVU1fVURQCTB4MDAwNAogCiBzdHJ1Y3QgaG5fdHhf cmluZyB7CisjaWZuZGVmIEhOX1VTRV9UWERFU0NfQlVGUklORwogCXN0cnVjdCBtdHgJaG5fdHhs aXN0X3NwaW47CiAJc3RydWN0IGhuX3R4ZGVzY19saXN0IGhuX3R4bGlzdDsKKyNlbHNlCisJc3Ry dWN0IGJ1Zl9yaW5nCSpobl90eGRlc2NfYnI7CisjZW5kaWYKIAlpbnQJCWhuX3R4ZGVzY19jbnQ7 CiAJaW50CQlobl90eGRlc2NfYXZhaWw7CiAJaW50CQlobl90eGVvZjsKCg== --b1_0dd4489443fcaafd71258da61deafb14-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 08:08:12 2016 Return-Path: Delivered-To: freebsd-virtualization@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 D5233AABFDB for ; Thu, 18 Feb 2016 08:08:12 +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 C09B11AA5 for ; Thu, 18 Feb 2016 08:08:12 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id BD78B3321042; Thu, 18 Feb 2016 08:08:12 +0000 (UTC) Date: Thu, 18 Feb 2016 08:08:12 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Request, 33 lines] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_9b055b1ca50c15dd1e08e65cbb273c8b" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 08:08:13 -0000 --b1_9b055b1ca50c15dd1e08e65cbb273c8b 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 DETAIL https://reviews.freebsd.org/D5316 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -269,6 +269,10 @@ SYSCTL_INT(_hw_hn, OID_AUTO, use_txdesc_bufring, CTLFLAG_RD, &hn_use_txdesc_bufring, 0, "Use buf_ring for TX descriptors"); +static int hn_bind_tx_taskq = -1; +SYSCTL_INT(_hw_hn, OID_AUTO, bind_tx_taskq, CTLFLAG_RDTUN, + &hn_bind_tx_taskq, 0, "Bind TX taskqueue to the specified cpu"); + /* * Forward declarations */ @@ -383,8 +387,20 @@ if (hn_tx_taskq == NULL) { sc->hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &sc->hn_tx_taskq); - taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", - device_get_nameunit(dev)); + if (hn_bind_tx_taskq >= 0) { + int cpu = hn_bind_tx_taskq; + cpuset_t cpu_set; + + if (cpu > mp_ncpus - 1) + cpu = mp_ncpus - 1; + CPU_SETOF(cpu, &cpu_set); + taskqueue_start_threads_cpuset(&sc->hn_tx_taskq, 1, + PI_NET, &cpu_set, "%s tx", + device_get_nameunit(dev)); + } else { + taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, + "%s tx", device_get_nameunit(dev)); + } } else { sc->hn_tx_taskq = hn_tx_taskq; } @@ -2409,7 +2425,18 @@ hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &hn_tx_taskq); - taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); + if (hn_bind_tx_taskq >= 0) { + int cpu = hn_bind_tx_taskq; + cpuset_t cpu_set; + + if (cpu > mp_ncpus - 1) + cpu = mp_ncpus - 1; + CPU_SETOF(cpu, &cpu_set); + taskqueue_start_threads_cpuset(&hn_tx_taskq, 1, PI_NET, + &cpu_set, "hn tx"); + } else { + taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); + } } SYSINIT(hn_txtq_create, SI_SUB_DRIVERS, SI_ORDER_FIRST, hn_tx_taskq_create, NULL); 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_9b055b1ca50c15dd1e08e65cbb273c8b Content-Type: text/x-patch; charset=utf-8; name="D5316.13407.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5316.13407.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0yNjksNiArMjY5LDEw IEBACiBTWVNDVExfSU5UKF9od19obiwgT0lEX0FVVE8sIHVzZV90eGRlc2NfYnVmcmluZywgQ1RM RkxBR19SRCwKICAgICAmaG5fdXNlX3R4ZGVzY19idWZyaW5nLCAwLCAiVXNlIGJ1Zl9yaW5nIGZv ciBUWCBkZXNjcmlwdG9ycyIpOwogCitzdGF0aWMgaW50IGhuX2JpbmRfdHhfdGFza3EgPSAtMTsK K1NZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgYmluZF90eF90YXNrcSwgQ1RMRkxBR19SRFRV TiwKKyAgICAmaG5fYmluZF90eF90YXNrcSwgMCwgIkJpbmQgVFggdGFza3F1ZXVlIHRvIHRoZSBz cGVjaWZpZWQgY3B1Iik7CisKIC8qCiAgKiBGb3J3YXJkIGRlY2xhcmF0aW9ucwogICovCkBAIC0z ODMsOCArMzg3LDIwIEBACiAJaWYgKGhuX3R4X3Rhc2txID09IE5VTEwpIHsKIAkJc2MtPmhuX3R4 X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZSgiaG5fdHgiLCBNX1dBSVRPSywKIAkJICAgIHRhc2tx dWV1ZV90aHJlYWRfZW5xdWV1ZSwgJnNjLT5obl90eF90YXNrcSk7Ci0JCXRhc2txdWV1ZV9zdGFy dF90aHJlYWRzKCZzYy0+aG5fdHhfdGFza3EsIDEsIFBJX05FVCwgIiVzIHR4IiwKLQkJICAgIGRl dmljZV9nZXRfbmFtZXVuaXQoZGV2KSk7CisJCWlmIChobl9iaW5kX3R4X3Rhc2txID49IDApIHsK KwkJCWludCBjcHUgPSBobl9iaW5kX3R4X3Rhc2txOworCQkJY3B1c2V0X3QgY3B1X3NldDsKKwor CQkJaWYgKGNwdSA+IG1wX25jcHVzIC0gMSkKKwkJCQljcHUgPSBtcF9uY3B1cyAtIDE7CisJCQlD UFVfU0VUT0YoY3B1LCAmY3B1X3NldCk7CisJCQl0YXNrcXVldWVfc3RhcnRfdGhyZWFkc19jcHVz ZXQoJnNjLT5obl90eF90YXNrcSwgMSwKKwkJCSAgICBQSV9ORVQsICZjcHVfc2V0LCAiJXMgdHgi LAorCQkJICAgIGRldmljZV9nZXRfbmFtZXVuaXQoZGV2KSk7CisJCX0gZWxzZSB7CisJCQl0YXNr cXVldWVfc3RhcnRfdGhyZWFkcygmc2MtPmhuX3R4X3Rhc2txLCAxLCBQSV9ORVQsCisJCQkgICAg IiVzIHR4IiwgZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsKKwkJfQogCX0gZWxzZSB7CiAJCXNj LT5obl90eF90YXNrcSA9IGhuX3R4X3Rhc2txOwogCX0KQEAgLTI0MDksNyArMjQyNSwxOCBAQAog CiAJaG5fdHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlKCJobl90eCIsIE1fV0FJVE9LLAogCSAg ICB0YXNrcXVldWVfdGhyZWFkX2VucXVldWUsICZobl90eF90YXNrcSk7Ci0JdGFza3F1ZXVlX3N0 YXJ0X3RocmVhZHMoJmhuX3R4X3Rhc2txLCAxLCBQSV9ORVQsICJobiB0eCIpOworCWlmIChobl9i aW5kX3R4X3Rhc2txID49IDApIHsKKwkJaW50IGNwdSA9IGhuX2JpbmRfdHhfdGFza3E7CisJCWNw dXNldF90IGNwdV9zZXQ7CisKKwkJaWYgKGNwdSA+IG1wX25jcHVzIC0gMSkKKwkJCWNwdSA9IG1w X25jcHVzIC0gMTsKKwkJQ1BVX1NFVE9GKGNwdSwgJmNwdV9zZXQpOworCQl0YXNrcXVldWVfc3Rh cnRfdGhyZWFkc19jcHVzZXQoJmhuX3R4X3Rhc2txLCAxLCBQSV9ORVQsCisJCSAgICAmY3B1X3Nl dCwgImhuIHR4Iik7CisJfSBlbHNlIHsKKwkJdGFza3F1ZXVlX3N0YXJ0X3RocmVhZHMoJmhuX3R4 X3Rhc2txLCAxLCBQSV9ORVQsICJobiB0eCIpOworCX0KIH0KIFNZU0lOSVQoaG5fdHh0cV9jcmVh dGUsIFNJX1NVQl9EUklWRVJTLCBTSV9PUkRFUl9GSVJTVCwKICAgICBobl90eF90YXNrcV9jcmVh dGUsIE5VTEwpOwoK --b1_9b055b1ca50c15dd1e08e65cbb273c8b-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 08:15:34 2016 Return-Path: Delivered-To: freebsd-virtualization@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 CAB4CAAC2CB for ; Thu, 18 Feb 2016 08:15:34 +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 B34451E9F for ; Thu, 18 Feb 2016 08:15:34 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id B185B33215A2; Thu, 18 Feb 2016 08:15:34 +0000 (UTC) Date: Thu, 18 Feb 2016 08:15:34 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5317+333+5b1cf4232f341bc2@reviews.freebsd.org Subject: [Differential] [Request, 2 lines] D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) 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: D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) 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: YzJmMDY1MGU4OTBiM2Y1YjNhNTNmODY2MWVj MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_2375b0fc97c583157411e5cd9ae9620a" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 08:15:35 -0000 --b1_2375b0fc97c583157411e5cd9ae9620a 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 Tested on Windows Server 2012. REVISION DETAIL https://reviews.freebsd.org/D5317 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -176,7 +176,7 @@ * later. UDP checksum offloading doesn't work on earlier * Windows releases. */ -#define HN_CSUM_ASSIST_WIN8 (CSUM_TCP) +#define HN_CSUM_ASSIST_WIN8 (CSUM_IP | CSUM_TCP) #define HN_CSUM_ASSIST (CSUM_IP | CSUM_UDP | CSUM_TCP) #define HN_LRO_LENLIM_DEF (25 * ETHERMTU) 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_2375b0fc97c583157411e5cd9ae9620a Content-Type: text/x-patch; charset=utf-8; name="D5317.13408.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5317.13408.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0xNzYsNyArMTc2LDcg QEAKICAqIGxhdGVyLiAgVURQIGNoZWNrc3VtIG9mZmxvYWRpbmcgZG9lc24ndCB3b3JrIG9uIGVh cmxpZXIKICAqIFdpbmRvd3MgcmVsZWFzZXMuCiAgKi8KLSNkZWZpbmUgSE5fQ1NVTV9BU1NJU1Rf V0lOOAkoQ1NVTV9UQ1ApCisjZGVmaW5lIEhOX0NTVU1fQVNTSVNUX1dJTjgJKENTVU1fSVAgfCBD U1VNX1RDUCkKICNkZWZpbmUgSE5fQ1NVTV9BU1NJU1QJCShDU1VNX0lQIHwgQ1NVTV9VRFAgfCBD U1VNX1RDUCkKIAogI2RlZmluZSBITl9MUk9fTEVOTElNX0RFRgkJKDI1ICogRVRIRVJNVFUpCgo= --b1_2375b0fc97c583157411e5cd9ae9620a-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 08:30:27 2016 Return-Path: Delivered-To: freebsd-virtualization@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 39DA0AAC8F3 for ; Thu, 18 Feb 2016 08:30:27 +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 2559476C for ; Thu, 18 Feb 2016 08:30:27 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 21E803321D7C; Thu, 18 Feb 2016 08:30:27 +0000 (UTC) Date: Thu, 18 Feb 2016 08:30:27 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5318+333+cc59c7c8f9506d5a@reviews.freebsd.org Subject: [Differential] [Request, 5 lines] D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed 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: D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed 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: YTIzNmI4MjNlNGRmYjFlZDMyOTIyMTE1NThi MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_b288dbd554e6ec2d678aab000a83aeea" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 08:30:27 -0000 --b1_b288dbd554e6ec2d678aab000a83aeea 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 DETAIL https://reviews.freebsd.org/D5318 AFFECTED FILES sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -2276,6 +2276,11 @@ bus_dma_tag_destroy(txr->hn_tx_data_dtag); if (txr->hn_tx_rndis_dtag != NULL) bus_dma_tag_destroy(txr->hn_tx_rndis_dtag); + +#ifdef HN_USE_TXDESC_BUFRING + buf_ring_free(txr->hn_txdesc_br, M_NETVSC); +#endif + free(txr->hn_txdesc, M_NETVSC); txr->hn_txdesc = NULL; 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_b288dbd554e6ec2d678aab000a83aeea Content-Type: text/x-patch; charset=utf-8; name="D5318.13409.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5318.13409.patch" ZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2Qu YyBiL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2c2NfZHJ2X2ZyZWVic2QuYwotLS0gYS9z eXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNkLmMKKysrIGIvc3lzL2Rl di9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jCkBAIC0yMjc2LDYgKzIyNzYs MTEgQEAKIAkJYnVzX2RtYV90YWdfZGVzdHJveSh0eHItPmhuX3R4X2RhdGFfZHRhZyk7CiAJaWYg KHR4ci0+aG5fdHhfcm5kaXNfZHRhZyAhPSBOVUxMKQogCQlidXNfZG1hX3RhZ19kZXN0cm95KHR4 ci0+aG5fdHhfcm5kaXNfZHRhZyk7CisKKyNpZmRlZiBITl9VU0VfVFhERVNDX0JVRlJJTkcKKwli dWZfcmluZ19mcmVlKHR4ci0+aG5fdHhkZXNjX2JyLCBNX05FVFZTQyk7CisjZW5kaWYKKwogCWZy ZWUodHhyLT5obl90eGRlc2MsIE1fTkVUVlNDKTsKIAl0eHItPmhuX3R4ZGVzYyA9IE5VTEw7CiAK Cg== --b1_b288dbd554e6ec2d678aab000a83aeea-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 11:48:48 2016 Return-Path: Delivered-To: freebsd-virtualization@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 AAF30AAB452 for ; Thu, 18 Feb 2016 11:48:48 +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 98B47A02 for ; Thu, 18 Feb 2016 11:48:48 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 96DB13321926; Thu, 18 Feb 2016 11:48:48 +0000 (UTC) Date: Thu, 18 Feb 2016 11:48:48 +0000 To: freebsd-virtualization@freebsd.org From: "howard0su_gmail.com (Howard Su)" Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Updated] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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 In-Reply-To: References: Thread-Index: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2IFbFr6A= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 11:48:48 -0000 howard0su_gmail.com added a comment. I worried so many options just brings headache to the end user without the clearly instruction on how to tune it. Please introduce new option when it is really needed. Maybe it is good time now to write a man page for hn. REVISION DETAIL https://reviews.freebsd.org/D5316 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 From owner-freebsd-virtualization@freebsd.org Thu Feb 18 12:14:23 2016 Return-Path: Delivered-To: freebsd-virtualization@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 4D15BAAC837 for ; Thu, 18 Feb 2016 12:14:23 +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 3A7761CF6 for ; Thu, 18 Feb 2016 12:14:23 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 3845C3321221; Thu, 18 Feb 2016 12:14:23 +0000 (UTC) Date: Thu, 18 Feb 2016 12:14:23 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Commented On] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU Message-ID: <75a78661f0dc70f357edaa7c3940c85a@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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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 In-Reply-To: References: Thread-Index: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2IFbFtZ8= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 12:14:23 -0000 sepherosa_gmail.com added a comment. In https://reviews.freebsd.org/D5316#113452, @howard0su_gmail.com wrote: > I worried so many options just brings headache to the end user without the clearly instruction on how to tune it. Please introduce new option when it is really needed. Maybe it is good time now to write a man page for hn. Well, I will complete the description: I _do_ need this to tracking the _host_ side transmission ring selection issue; and chances are high that I will set it by default in the end. If it's not necessary, I will not even bother to publish it. As for the man page, yeah, we should have one; I probably will do it after the if_transmit work. REVISION DETAIL https://reviews.freebsd.org/D5316 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 From owner-freebsd-virtualization@freebsd.org Thu Feb 18 12:15:57 2016 Return-Path: Delivered-To: freebsd-virtualization@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 BD471AAC8F9 for ; Thu, 18 Feb 2016 12:15:57 +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 AAB811E3F for ; Thu, 18 Feb 2016 12:15:57 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id A90ED3321345; Thu, 18 Feb 2016 12:15:57 +0000 (UTC) Date: Thu, 18 Feb 2016 12:15:57 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Updated] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU Message-ID: <77ef9efd16bb84aa65df872ce380de5e@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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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 In-Reply-To: References: Thread-Index: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2IFbFtf0= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 12:15:57 -0000 sepherosa_gmail.com updated the summary for this revision. REVISION DETAIL https://reviews.freebsd.org/D5316 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 From owner-freebsd-virtualization@freebsd.org Thu Feb 18 07:38:28 2016 Return-Path: Delivered-To: freebsd-virtualization@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 063FCAACE15 for ; Thu, 18 Feb 2016 07:38:28 +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 E58F5B1F for ; Thu, 18 Feb 2016 07:38:27 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id E284D332153F; Thu, 18 Feb 2016 07:38:27 +0000 (UTC) Date: Thu, 18 Feb 2016 07:38:27 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5283+333+c52ee0049dc2f53f@reviews.freebsd.org Subject: [Differential] [Closed] D5283: hyperv/hn: Split TX ring data structure out of softc Message-ID: <5fe3909765837cc3654563d26e6c1901@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: D5283: hyperv/hn: Split TX ring data structure out of softc 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 In-Reply-To: References: Thread-Index: NzMzOGZkYjcxOGQ0MjYzYmE0NWE0Nzc3NTExIFbFdPM= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_5fe3909765837cc3654563d26e6c1901" X-Mailman-Approved-At: Thu, 18 Feb 2016 12:18:38 +0000 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 07:38:28 -0000 --b1_5fe3909765837cc3654563d26e6c1901 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295747: hyperv/hn: Split TX ring data structure out of softc (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5283?vs=13312&id=13405#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5283?vs=13312&id=13405 REVISION DETAIL https://reviews.freebsd.org/D5283 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_5fe3909765837cc3654563d26e6c1901 Content-Type: text/x-patch; charset=utf-8; name="D5283.13405.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5283.13405.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTE1Myw3ICsxNTMsNyBAQAogc3RydWN0IGhuX3R4ZGVzYyB7CiAJU0xJU1RfRU5UUlko aG5fdHhkZXNjKSBsaW5rOwogCXN0cnVjdCBtYnVmCSptOwotCXN0cnVjdCBobl9zb2Z0Ywkqc2M7 CisJc3RydWN0IGhuX3R4X3JpbmcgKnR4cjsKIAlpbnQJCXJlZnM7CiAJdWludDMyX3QJZmxhZ3M7 CQkvKiBITl9UWERfRkxBR18gKi8KIAluZXR2c2NfcGFja2V0CW5ldHZzY19wa3Q7CS8qIFhYWCB0 byBiZSByZW1vdmVkICovCkBAIC0xOTMsNyArMTkzLDYgQEAKICNkZWZpbmUgTlZfTE9DS19JTklU KF9zYywgX25hbWUpIFwKIAkgICAgbXR4X2luaXQoJihfc2MpLT5obl9sb2NrLCBfbmFtZSwgTVRY X05FVFdPUktfTE9DSywgTVRYX0RFRikKICNkZWZpbmUgTlZfTE9DSyhfc2MpCQltdHhfbG9jaygm KF9zYyktPmhuX2xvY2spCi0jZGVmaW5lIE5WX1RSWUxPQ0soX3NjKQkJbXR4X3RyeWxvY2soJihf c2MpLT5obl9sb2NrKQogI2RlZmluZSBOVl9MT0NLX0FTU0VSVChfc2MpCW10eF9hc3NlcnQoJihf c2MpLT5obl9sb2NrLCBNQV9PV05FRCkKICNkZWZpbmUgTlZfVU5MT0NLKF9zYykJCW10eF91bmxv Y2soJihfc2MpLT5obl9sb2NrKQogI2RlZmluZSBOVl9MT0NLX0RFU1RST1koX3NjKQltdHhfZGVz dHJveSgmKF9zYyktPmhuX2xvY2spCkBAIC0yNjYsMjUgKzI2NSwzMSBAQAogc3RhdGljIHZvaWQg aG5faWZpbml0X2xvY2tlZChobl9zb2Z0Y190ICpzYyk7CiBzdGF0aWMgdm9pZCBobl9pZmluaXQo dm9pZCAqeHNjKTsKIHN0YXRpYyBpbnQgIGhuX2lvY3RsKHN0cnVjdCBpZm5ldCAqaWZwLCB1X2xv bmcgY21kLCBjYWRkcl90IGRhdGEpOwotc3RhdGljIGludCBobl9zdGFydF9sb2NrZWQoc3RydWN0 IGlmbmV0ICppZnAsIGludCBsZW4pOworc3RhdGljIGludCBobl9zdGFydF9sb2NrZWQoc3RydWN0 IGhuX3R4X3JpbmcgKnR4ciwgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBobl9zdGFydChzdHJ1Y3Qg aWZuZXQgKmlmcCk7Ci1zdGF0aWMgdm9pZCBobl9zdGFydF90eGVvZihzdHJ1Y3QgaWZuZXQgKmlm cCk7CitzdGF0aWMgdm9pZCBobl9zdGFydF90eGVvZihzdHJ1Y3QgaG5fdHhfcmluZyAqKTsKIHN0 YXRpYyBpbnQgaG5faWZtZWRpYV91cGQoc3RydWN0IGlmbmV0ICppZnApOwogc3RhdGljIHZvaWQg aG5faWZtZWRpYV9zdHMoc3RydWN0IGlmbmV0ICppZnAsIHN0cnVjdCBpZm1lZGlhcmVxICppZm1y KTsKIHN0YXRpYyBpbnQgaG5fbHJvX2xlbmxpbV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7 CiBzdGF0aWMgaW50IGhuX2xyb19hY2tjbnRfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1MpOwog c3RhdGljIGludCBobl90cnVzdF9oY3N1bV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7CiBz dGF0aWMgaW50IGhuX3R4X2NoaW1uZXlfc2l6ZV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7 CiBzdGF0aWMgaW50IGhuX3J4X3N0YXRfdWxvbmdfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1Mp Owogc3RhdGljIGludCBobl9yeF9zdGF0X3U2NF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7 CitzdGF0aWMgaW50IGhuX3R4X3N0YXRfdWxvbmdfc3lzY3RsKFNZU0NUTF9IQU5ETEVSX0FSR1Mp Oworc3RhdGljIGludCBobl90eF9jb25mX2ludF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUyk7 CiBzdGF0aWMgaW50IGhuX2NoZWNrX2lwbGVuKGNvbnN0IHN0cnVjdCBtYnVmICosIGludCk7Ci1z dGF0aWMgaW50IGhuX2NyZWF0ZV90eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpOwotc3RhdGlj IHZvaWQgaG5fZGVzdHJveV90eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpOworc3RhdGljIGlu dCBobl9jcmVhdGVfdHhfcmluZyhzdHJ1Y3QgaG5fc29mdGMgKiwgaW50KTsKK3N0YXRpYyB2b2lk IGhuX2Rlc3Ryb3lfdHhfcmluZyhzdHJ1Y3QgaG5fdHhfcmluZyAqKTsKK3N0YXRpYyBpbnQgaG5f Y3JlYXRlX3R4X2RhdGEoc3RydWN0IGhuX3NvZnRjICopOworc3RhdGljIHZvaWQgaG5fZGVzdHJv eV90eF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAqKTsKIHN0YXRpYyB2b2lkIGhuX3N0YXJ0X3Rhc2tm dW5jKHZvaWQgKnhzYywgaW50IHBlbmRpbmcpOwogc3RhdGljIHZvaWQgaG5fdHhlb2ZfdGFza2Z1 bmModm9pZCAqeHNjLCBpbnQgcGVuZGluZyk7Ci1zdGF0aWMgaW50IGhuX2VuY2FwKHN0cnVjdCBo bl9zb2Z0YyAqLCBzdHJ1Y3QgaG5fdHhkZXNjICosIHN0cnVjdCBtYnVmICoqKTsKK3N0YXRpYyB2 b2lkIGhuX3N0b3BfdHhfdGFza3Moc3RydWN0IGhuX3NvZnRjICopOworc3RhdGljIGludCBobl9l bmNhcChzdHJ1Y3QgaG5fdHhfcmluZyAqLCBzdHJ1Y3QgaG5fdHhkZXNjICosIHN0cnVjdCBtYnVm ICoqKTsKIHN0YXRpYyB2b2lkIGhuX2NyZWF0ZV9yeF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAqc2Mp Owogc3RhdGljIHZvaWQgaG5fZGVzdHJveV9yeF9kYXRhKHN0cnVjdCBobl9zb2Z0YyAqc2MpOwor c3RhdGljIHZvaWQgaG5fc2V0X3R4X2NoaW1uZXlfc2l6ZShzdHJ1Y3QgaG5fc29mdGMgKiwgaW50 KTsKIAogc3RhdGljIGludAogaG5faWZtZWRpYV91cGQoc3RydWN0IGlmbmV0ICppZnAgX191bnVz ZWQpCkBAIC0zNTAsOCArMzU1LDYgQEAKIAlobl9zb2Z0Y190ICpzYzsKIAlpbnQgdW5pdCA9IGRl dmljZV9nZXRfdW5pdChkZXYpOwogCXN0cnVjdCBpZm5ldCAqaWZwID0gTlVMTDsKLQlzdHJ1Y3Qg c3lzY3RsX29pZF9saXN0ICpjaGlsZDsKLQlzdHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpjdHg7CiAJ aW50IGVycm9yOwogI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDExMDAwNDUKIAlpbnQgdHNvX21h eGxlbjsKQEAgLTM2NSw3ICszNjgsNiBAQAogCWJ6ZXJvKHNjLCBzaXplb2YoaG5fc29mdGNfdCkp OwogCXNjLT5obl91bml0ID0gdW5pdDsKIAlzYy0+aG5fZGV2ID0gZGV2OwotCXNjLT5obl9kaXJl Y3RfdHhfc2l6ZSA9IGhuX2RpcmVjdF90eF9zaXplOwogCiAJaWYgKGhuX3R4X3Rhc2txID09IE5V TEwpIHsKIAkJc2MtPmhuX3R4X3Rhc2txID0gdGFza3F1ZXVlX2NyZWF0ZSgiaG5fdHgiLCBNX1dB SVRPSywKQEAgLTM3NSwyMCArMzc3LDE3IEBACiAJfSBlbHNlIHsKIAkJc2MtPmhuX3R4X3Rhc2tx ID0gaG5fdHhfdGFza3E7CiAJfQotCVRBU0tfSU5JVCgmc2MtPmhuX3N0YXJ0X3Rhc2ssIDAsIGhu X3N0YXJ0X3Rhc2tmdW5jLCBzYyk7Ci0JVEFTS19JTklUKCZzYy0+aG5fdHhlb2ZfdGFzaywgMCwg aG5fdHhlb2ZfdGFza2Z1bmMsIHNjKTsKLQotCWVycm9yID0gaG5fY3JlYXRlX3R4X3Jpbmcoc2Mp OwotCWlmIChlcnJvcikKLQkJZ290byBmYWlsZWQ7Ci0KIAlOVl9MT0NLX0lOSVQoc2MsICJOZXRW U0NMb2NrIik7CiAKIAlzYy0+aG5fZGV2X29iaiA9IGRldmljZV9jdHg7CiAKIAlpZnAgPSBzYy0+ aG5faWZwID0gaWZfYWxsb2MoSUZUX0VUSEVSKTsKIAlpZnAtPmlmX3NvZnRjID0gc2M7CiAKKwll cnJvciA9IGhuX2NyZWF0ZV90eF9kYXRhKHNjKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gZmFpbGVk OworCiAJaG5fY3JlYXRlX3J4X2RhdGEoc2MpOwogCiAJaWZfaW5pdG5hbWUoaWZwLCBkZXZpY2Vf Z2V0X25hbWUoZGV2KSwgZGV2aWNlX2dldF91bml0KGRldikpOwpAQCAtNDIxLDEyICs0MjAsNyBA QAogCWlmcC0+aWZfY2FwZW5hYmxlIHw9CiAJICAgIElGQ0FQX1ZMQU5fSFdUQUdHSU5HIHwgSUZD QVBfVkxBTl9NVFUgfCBJRkNBUF9IV0NTVU0gfCBJRkNBUF9UU08gfAogCSAgICBJRkNBUF9MUk87 Ci0KLQlpZiAoaHZfdm1idXNfcHJvdG9jYWxfdmVyc2lvbiA+PSBIVl9WTUJVU19WRVJTSU9OX1dJ TjhfMSkKLQkJc2MtPmhuX2NzdW1fYXNzaXN0ID0gSE5fQ1NVTV9BU1NJU1Q7Ci0JZWxzZQotCQlz Yy0+aG5fY3N1bV9hc3Npc3QgPSBITl9DU1VNX0FTU0lTVF9XSU44OwotCWlmcC0+aWZfaHdhc3Np c3QgPSBzYy0+aG5fY3N1bV9hc3Npc3QgfCBDU1VNX1RTTzsKKwlpZnAtPmlmX2h3YXNzaXN0ID0g c2MtPmhuX3R4X3JpbmdbMF0uaG5fY3N1bV9hc3Npc3QgfCBDU1VNX1RTTzsKIAogCWVycm9yID0g aHZfcmZfb25fZGV2aWNlX2FkZChkZXZpY2VfY3R4LCAmZGV2aWNlX2luZm8pOwogCWlmIChlcnJv cikKQEAgLTQ1NSw1MiArNDQ5LDE0IEBACiAjZW5kaWYKIAogCXNjLT5obl90eF9jaGltbmV5X21h eCA9IHNjLT5uZXRfZGV2LT5zZW5kX3NlY3Rpb25fc2l6ZTsKLQlzYy0+aG5fdHhfY2hpbW5leV9z aXplID0gc2MtPmhuX3R4X2NoaW1uZXlfbWF4OworCWhuX3NldF90eF9jaGltbmV5X3NpemUoc2Ms IHNjLT5obl90eF9jaGltbmV5X21heCk7CiAJaWYgKGhuX3R4X2NoaW1uZXlfc2l6ZSA+IDAgJiYK IAkgICAgaG5fdHhfY2hpbW5leV9zaXplIDwgc2MtPmhuX3R4X2NoaW1uZXlfbWF4KQotCQlzYy0+ aG5fdHhfY2hpbW5leV9zaXplID0gaG5fdHhfY2hpbW5leV9zaXplOwotCi0JLyoKLQkgKiBBbHdh eXMgc2NoZWR1bGUgdHJhbnNtaXNzaW9uIGluc3RlYWQgb2YgdHJ5aW5nCi0JICogdG8gZG8gZGly ZWN0IHRyYW5zbWlzc2lvbi4gIFRoaXMgb25lIGdpdmVzIHRoZQotCSAqIGJlc3QgcGVyZm9ybWFu Y2Ugc28gZmFyLgotCSAqLwotCXNjLT5obl9zY2hlZF90eCA9IDE7Ci0KLQljdHggPSBkZXZpY2Vf Z2V0X3N5c2N0bF9jdHgoZGV2KTsKLQljaGlsZCA9IFNZU0NUTF9DSElMRFJFTihkZXZpY2VfZ2V0 X3N5c2N0bF90cmVlKGRldikpOwotCi0JU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkLCBPSURf QVVUTywgIm5vX3R4ZGVzY3MiLAotCSAgICBDVExGTEFHX1JXLCAmc2MtPmhuX25vX3R4ZGVzY3Ms ICIjIG9mIHRpbWVzIHNob3J0IG9mIFRYIGRlc2NzIik7Ci0JU1lTQ1RMX0FERF9VTE9ORyhjdHgs IGNoaWxkLCBPSURfQVVUTywgInNlbmRfZmFpbGVkIiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5o bl9zZW5kX2ZhaWxlZCwgIiMgb2YgaHlwZXItdiBzZW5kaW5nIGZhaWx1cmUiKTsKLQlTWVNDVExf QUREX1VMT05HKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhkbWFfZmFpbGVkIiwKLQkgICAgQ1RM RkxBR19SVywgJnNjLT5obl90eGRtYV9mYWlsZWQsICIjIG9mIFRYIERNQSBmYWlsdXJlIik7Ci0J U1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4X2NvbGxhcHNlZCIsCi0J ICAgIENUTEZMQUdfUlcsICZzYy0+aG5fdHhfY29sbGFwc2VkLCAiIyBvZiBUWCBtYnVmIGNvbGxh cHNlZCIpOwotCVNZU0NUTF9BRERfVUxPTkcoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jaGlt bmV5IiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl90eF9jaGltbmV5LCAiIyBvZiBjaGltbmV5 IHNlbmQiKTsKLQlTWVNDVExfQUREX0lOVChjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4ZGVzY19j bnQiLAotCSAgICBDVExGTEFHX1JELCAmc2MtPmhuX3R4ZGVzY19jbnQsIDAsICIjIG9mIHRvdGFs IFRYIGRlc2NzIik7Ci0JU1lTQ1RMX0FERF9JTlQoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eGRl c2NfYXZhaWwiLAotCSAgICBDVExGTEFHX1JELCAmc2MtPmhuX3R4ZGVzY19hdmFpbCwgMCwgIiMg b2YgYXZhaWxhYmxlIFRYIGRlc2NzIik7Ci0JU1lTQ1RMX0FERF9JTlQoY3R4LCBjaGlsZCwgT0lE X0FVVE8sICJ0eF9jaGltbmV5X21heCIsCi0JICAgIENUTEZMQUdfUkQsICZzYy0+aG5fdHhfY2hp bW5leV9tYXgsIDAsCi0JICAgICJDaGltbmV5IHNlbmQgcGFja2V0IHNpemUgdXBwZXIgYm91bmRh cnkiKTsKLQlTWVNDVExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eF9jaGltbmV5 X3NpemUiLAotCSAgICBDVExUWVBFX0lOVCB8IENUTEZMQUdfUlcsIHNjLCAwLCBobl90eF9jaGlt bmV5X3NpemVfc3lzY3RsLAotCSAgICAiSSIsICJDaGltbmV5IHNlbmQgcGFja2V0IHNpemUgbGlt aXQiKTsKLQlTWVNDVExfQUREX0lOVChjdHgsIGNoaWxkLCBPSURfQVVUTywgImRpcmVjdF90eF9z aXplIiwKLQkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9kaXJlY3RfdHhfc2l6ZSwgMCwKLQkgICAg IlNpemUgb2YgdGhlIHBhY2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiIpOwotCVNZU0NUTF9B RERfSU5UKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAic2NoZWRfdHgiLAotCSAgICBDVExGTEFHX1JX LCAmc2MtPmhuX3NjaGVkX3R4LCAwLAotCSAgICAiQWx3YXlzIHNjaGVkdWxlIHRyYW5zbWlzc2lv biAiCi0JICAgICJpbnN0ZWFkIG9mIGRvaW5nIGRpcmVjdCB0cmFuc21pc3Npb24iKTsKKwkJaG5f c2V0X3R4X2NoaW1uZXlfc2l6ZShzYywgaG5fdHhfY2hpbW5leV9zaXplKTsKIAogCXJldHVybiAo MCk7CiBmYWlsZWQ6Ci0JaG5fZGVzdHJveV90eF9yaW5nKHNjKTsKKwlobl9kZXN0cm95X3R4X2Rh dGEoc2MpOwogCWlmIChpZnAgIT0gTlVMTCkKIAkJaWZfZnJlZShpZnApOwogCXJldHVybiAoZXJy b3IpOwpAQCAtNTMxLDE0ICs0ODcsMTQgQEAKIAogCWh2X3JmX29uX2RldmljZV9yZW1vdmUoaHZf ZGV2aWNlLCBIVl9SRl9OVl9ERVNUUk9ZX0NIQU5ORUwpOwogCi0JdGFza3F1ZXVlX2RyYWluKHNj LT5obl90eF90YXNrcSwgJnNjLT5obl9zdGFydF90YXNrKTsKLQl0YXNrcXVldWVfZHJhaW4oc2Mt PmhuX3R4X3Rhc2txLCAmc2MtPmhuX3R4ZW9mX3Rhc2spOwotCWlmIChzYy0+aG5fdHhfdGFza3Eg IT0gaG5fdHhfdGFza3EpCi0JCXRhc2txdWV1ZV9mcmVlKHNjLT5obl90eF90YXNrcSk7CisJaG5f c3RvcF90eF90YXNrcyhzYyk7CiAKIAlpZm1lZGlhX3JlbW92ZWFsbCgmc2MtPmhuX21lZGlhKTsK IAlobl9kZXN0cm95X3J4X2RhdGEoc2MpOwotCWhuX2Rlc3Ryb3lfdHhfcmluZyhzYyk7CisJaG5f ZGVzdHJveV90eF9kYXRhKHNjKTsKKworCWlmIChzYy0+aG5fdHhfdGFza3EgIT0gaG5fdHhfdGFz a3EpCisJCXRhc2txdWV1ZV9mcmVlKHNjLT5obl90eF90YXNrcSk7CiAKIAlyZXR1cm4gKDApOwog fQpAQCAtNTUzLDEzICs1MDksMTMgQEAKIH0KIAogc3RhdGljIF9faW5saW5lIGludAotaG5fdHhk ZXNjX2RtYW1hcF9sb2FkKHN0cnVjdCBobl9zb2Z0YyAqc2MsIHN0cnVjdCBobl90eGRlc2MgKnR4 ZCwKK2huX3R4ZGVzY19kbWFtYXBfbG9hZChzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyLCBzdHJ1Y3Qg aG5fdHhkZXNjICp0eGQsCiAgICAgc3RydWN0IG1idWYgKiptX2hlYWQsIGJ1c19kbWFfc2VnbWVu dF90ICpzZWdzLCBpbnQgKm5zZWdzKQogewogCXN0cnVjdCBtYnVmICptID0gKm1faGVhZDsKIAlp bnQgZXJyb3I7CiAKLQllcnJvciA9IGJ1c19kbWFtYXBfbG9hZF9tYnVmX3NnKHNjLT5obl90eF9k YXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwLAorCWVycm9yID0gYnVzX2RtYW1hcF9sb2FkX21idWZf c2codHhyLT5obl90eF9kYXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwLAogCSAgICBtLCBzZWdzLCBu c2VncywgQlVTX0RNQV9OT1dBSVQpOwogCWlmIChlcnJvciA9PSBFRkJJRykgewogCQlzdHJ1Y3Qg bWJ1ZiAqbV9uZXc7CkBAIC01NjksMzQgKzUyNSwzNCBAQAogCQkJcmV0dXJuIEVOT0JVRlM7CiAJ CWVsc2UKIAkJCSptX2hlYWQgPSBtID0gbV9uZXc7Ci0JCXNjLT5obl90eF9jb2xsYXBzZWQrKzsK KwkJdHhyLT5obl90eF9jb2xsYXBzZWQrKzsKIAotCQllcnJvciA9IGJ1c19kbWFtYXBfbG9hZF9t YnVmX3NnKHNjLT5obl90eF9kYXRhX2R0YWcsCisJCWVycm9yID0gYnVzX2RtYW1hcF9sb2FkX21i dWZfc2codHhyLT5obl90eF9kYXRhX2R0YWcsCiAJCSAgICB0eGQtPmRhdGFfZG1hcCwgbSwgc2Vn cywgbnNlZ3MsIEJVU19ETUFfTk9XQUlUKTsKIAl9CiAJaWYgKCFlcnJvcikgewotCQlidXNfZG1h bWFwX3N5bmMoc2MtPmhuX3R4X2RhdGFfZHRhZywgdHhkLT5kYXRhX2RtYXAsCisJCWJ1c19kbWFt YXBfc3luYyh0eHItPmhuX3R4X2RhdGFfZHRhZywgdHhkLT5kYXRhX2RtYXAsCiAJCSAgICBCVVNf RE1BU1lOQ19QUkVXUklURSk7CiAJCXR4ZC0+ZmxhZ3MgfD0gSE5fVFhEX0ZMQUdfRE1BTUFQOwog CX0KIAlyZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyBfX2lubGluZSB2b2lkCi1obl90eGRlc2Nf ZG1hbWFwX3VubG9hZChzdHJ1Y3QgaG5fc29mdGMgKnNjLCBzdHJ1Y3QgaG5fdHhkZXNjICp0eGQp Citobl90eGRlc2NfZG1hbWFwX3VubG9hZChzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyLCBzdHJ1Y3Qg aG5fdHhkZXNjICp0eGQpCiB7CiAKIAlpZiAodHhkLT5mbGFncyAmIEhOX1RYRF9GTEFHX0RNQU1B UCkgewotCQlidXNfZG1hbWFwX3N5bmMoc2MtPmhuX3R4X2RhdGFfZHRhZywKKwkJYnVzX2RtYW1h cF9zeW5jKHR4ci0+aG5fdHhfZGF0YV9kdGFnLAogCQkgICAgdHhkLT5kYXRhX2RtYXAsIEJVU19E TUFTWU5DX1BPU1RXUklURSk7Ci0JCWJ1c19kbWFtYXBfdW5sb2FkKHNjLT5obl90eF9kYXRhX2R0 YWcsCisJCWJ1c19kbWFtYXBfdW5sb2FkKHR4ci0+aG5fdHhfZGF0YV9kdGFnLAogCQkgICAgdHhk LT5kYXRhX2RtYXApOwogCQl0eGQtPmZsYWdzICY9IH5ITl9UWERfRkxBR19ETUFNQVA7CiAJfQog fQogCiBzdGF0aWMgX19pbmxpbmUgaW50Ci1obl90eGRlc2NfcHV0KHN0cnVjdCBobl9zb2Z0YyAq c2MsIHN0cnVjdCBobl90eGRlc2MgKnR4ZCkKK2huX3R4ZGVzY19wdXQoc3RydWN0IGhuX3R4X3Jp bmcgKnR4ciwgc3RydWN0IGhuX3R4ZGVzYyAqdHhkKQogewogCiAJS0FTU0VSVCgodHhkLT5mbGFn cyAmIEhOX1RYRF9GTEFHX09OTElTVCkgPT0gMCwKQEAgLTYwNiwzOSArNTYyLDM5IEBACiAJaWYg KGF0b21pY19mZXRjaGFkZF9pbnQoJnR4ZC0+cmVmcywgLTEpICE9IDEpCiAJCXJldHVybiAwOwog Ci0JaG5fdHhkZXNjX2RtYW1hcF91bmxvYWQoc2MsIHR4ZCk7CisJaG5fdHhkZXNjX2RtYW1hcF91 bmxvYWQodHhyLCB0eGQpOwogCWlmICh0eGQtPm0gIT0gTlVMTCkgewogCQltX2ZyZWVtKHR4ZC0+ bSk7CiAJCXR4ZC0+bSA9IE5VTEw7CiAJfQogCiAJdHhkLT5mbGFncyB8PSBITl9UWERfRkxBR19P TkxJU1Q7CiAKLQltdHhfbG9ja19zcGluKCZzYy0+aG5fdHhsaXN0X3NwaW4pOwotCUtBU1NFUlQo c2MtPmhuX3R4ZGVzY19hdmFpbCA+PSAwICYmCi0JICAgIHNjLT5obl90eGRlc2NfYXZhaWwgPCBz Yy0+aG5fdHhkZXNjX2NudCwKLQkgICAgKCJ0eGRlc2NfcHV0OiBpbnZhbGlkIHR4ZCBhdmFpbCAl ZCIsIHNjLT5obl90eGRlc2NfYXZhaWwpKTsKLQlzYy0+aG5fdHhkZXNjX2F2YWlsKys7Ci0JU0xJ U1RfSU5TRVJUX0hFQUQoJnNjLT5obl90eGxpc3QsIHR4ZCwgbGluayk7Ci0JbXR4X3VubG9ja19z cGluKCZzYy0+aG5fdHhsaXN0X3NwaW4pOworCW10eF9sb2NrX3NwaW4oJnR4ci0+aG5fdHhsaXN0 X3NwaW4pOworCUtBU1NFUlQodHhyLT5obl90eGRlc2NfYXZhaWwgPj0gMCAmJgorCSAgICB0eHIt PmhuX3R4ZGVzY19hdmFpbCA8IHR4ci0+aG5fdHhkZXNjX2NudCwKKwkgICAgKCJ0eGRlc2NfcHV0 OiBpbnZhbGlkIHR4ZCBhdmFpbCAlZCIsIHR4ci0+aG5fdHhkZXNjX2F2YWlsKSk7CisJdHhyLT5o bl90eGRlc2NfYXZhaWwrKzsKKwlTTElTVF9JTlNFUlRfSEVBRCgmdHhyLT5obl90eGxpc3QsIHR4 ZCwgbGluayk7CisJbXR4X3VubG9ja19zcGluKCZ0eHItPmhuX3R4bGlzdF9zcGluKTsKIAogCXJl dHVybiAxOwogfQogCiBzdGF0aWMgX19pbmxpbmUgc3RydWN0IGhuX3R4ZGVzYyAqCi1obl90eGRl c2NfZ2V0KHN0cnVjdCBobl9zb2Z0YyAqc2MpCitobl90eGRlc2NfZ2V0KHN0cnVjdCBobl90eF9y aW5nICp0eHIpCiB7CiAJc3RydWN0IGhuX3R4ZGVzYyAqdHhkOwogCi0JbXR4X2xvY2tfc3Bpbigm c2MtPmhuX3R4bGlzdF9zcGluKTsKLQl0eGQgPSBTTElTVF9GSVJTVCgmc2MtPmhuX3R4bGlzdCk7 CisJbXR4X2xvY2tfc3BpbigmdHhyLT5obl90eGxpc3Rfc3Bpbik7CisJdHhkID0gU0xJU1RfRklS U1QoJnR4ci0+aG5fdHhsaXN0KTsKIAlpZiAodHhkICE9IE5VTEwpIHsKLQkJS0FTU0VSVChzYy0+ aG5fdHhkZXNjX2F2YWlsID4gMCwKLQkJICAgICgidHhkZXNjX2dldDogaW52YWxpZCB0eGQgYXZh aWwgJWQiLCBzYy0+aG5fdHhkZXNjX2F2YWlsKSk7Ci0JCXNjLT5obl90eGRlc2NfYXZhaWwtLTsK LQkJU0xJU1RfUkVNT1ZFX0hFQUQoJnNjLT5obl90eGxpc3QsIGxpbmspOworCQlLQVNTRVJUKHR4 ci0+aG5fdHhkZXNjX2F2YWlsID4gMCwKKwkJICAgICgidHhkZXNjX2dldDogaW52YWxpZCB0eGQg YXZhaWwgJWQiLCB0eHItPmhuX3R4ZGVzY19hdmFpbCkpOworCQl0eHItPmhuX3R4ZGVzY19hdmFp bC0tOworCQlTTElTVF9SRU1PVkVfSEVBRCgmdHhyLT5obl90eGxpc3QsIGxpbmspOwogCX0KLQlt dHhfdW5sb2NrX3NwaW4oJnNjLT5obl90eGxpc3Rfc3Bpbik7CisJbXR4X3VubG9ja19zcGluKCZ0 eHItPmhuX3R4bGlzdF9zcGluKTsKIAogCWlmICh0eGQgIT0gTlVMTCkgewogCQlLQVNTRVJUKHR4 ZC0+bSA9PSBOVUxMICYmIHR4ZC0+cmVmcyA9PSAwICYmCkBAIC02NzAsMjAgKzYyNiwyMSBAQAog ewogCW5ldHZzY19wYWNrZXQgKnBhY2tldCA9IGNvbnRleHQ7CiAJc3RydWN0IGhuX3R4ZGVzYyAq dHhkOwotCXN0cnVjdCBobl9zb2Z0YyAqc2M7CisJc3RydWN0IGhuX3R4X3JpbmcgKnR4cjsKIAog CXR4ZCA9IChzdHJ1Y3QgaG5fdHhkZXNjICopKHVpbnRwdHJfdCkKIAkgICAgcGFja2V0LT5jb21w bC5zZW5kLnNlbmRfY29tcGxldGlvbl90aWQ7CiAKLQlzYyA9IHR4ZC0+c2M7Ci0Jc2MtPmhuX3R4 ZW9mID0gMTsKLQlobl90eGRlc2NfcHV0KHNjLCB0eGQpOworCXR4ciA9IHR4ZC0+dHhyOworCXR4 ci0+aG5fdHhlb2YgPSAxOworCWhuX3R4ZGVzY19wdXQodHhyLCB0eGQpOwogfQogCiB2b2lkCiBu ZXR2c2NfY2hhbm5lbF9yb2xsdXAoc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX2N0eCkKIHsKIAlz dHJ1Y3QgaG5fc29mdGMgKnNjID0gZGV2aWNlX2dldF9zb2Z0YyhkZXZpY2VfY3R4LT5kZXZpY2Up OworCXN0cnVjdCBobl90eF9yaW5nICp0eHIgPSAmc2MtPmhuX3R4X3JpbmdbMF07IC8qIFRPRE86 IHZSU1MgKi8KICNpZiBkZWZpbmVkKElORVQpIHx8IGRlZmluZWQoSU5FVDYpCiAJc3RydWN0IGhu X3J4X3JpbmcgKnJ4ciA9ICZzYy0+aG5fcnhfcmluZ1swXTsgLyogVE9ETzogdlJTUyAqLwogCXN0 cnVjdCBscm9fY3RybCAqbHJvID0gJnJ4ci0+aG5fbHJvOwpAQCAtNjk1LDE5ICs2NTIsMTkgQEAK IAl9CiAjZW5kaWYKIAotCWlmICghc2MtPmhuX3R4ZW9mKQorCWlmICghdHhyLT5obl90eGVvZikK IAkJcmV0dXJuOwogCi0Jc2MtPmhuX3R4ZW9mID0gMDsKLQlobl9zdGFydF90eGVvZihzYy0+aG5f aWZwKTsKKwl0eHItPmhuX3R4ZW9mID0gMDsKKwlobl9zdGFydF90eGVvZih0eHIpOwogfQogCiAv KgogICogTk9URToKICAqIElmIHRoaXMgZnVuY3Rpb24gZmFpbHMsIHRoZW4gYm90aCB0eGQgYW5k IG1faGVhZDAgd2lsbCBiZSBmcmVlZC4KICAqLwogc3RhdGljIGludAotaG5fZW5jYXAoc3RydWN0 IGhuX3NvZnRjICpzYywgc3RydWN0IGhuX3R4ZGVzYyAqdHhkLCBzdHJ1Y3QgbWJ1ZiAqKm1faGVh ZDApCitobl9lbmNhcChzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyLCBzdHJ1Y3QgaG5fdHhkZXNjICp0 eGQsIHN0cnVjdCBtYnVmICoqbV9oZWFkMCkKIHsKIAlidXNfZG1hX3NlZ21lbnRfdCBzZWdzW0hO X1RYX0RBVEFfU0VHQ05UX01BWF07CiAJaW50IGVycm9yLCBuc2VncywgaTsKQEAgLTgxMCw3ICs3 NjcsNyBAQAogI2VuZGlmCiAJCXRzb19pbmZvLT5sc29fdjJfeG1pdC50Y3BfaGVhZGVyX29mZnNl dCA9IDA7CiAJCXRzb19pbmZvLT5sc29fdjJfeG1pdC5tc3MgPSBtX2hlYWQtPm1fcGt0aGRyLnRz b19zZWdzejsKLQl9IGVsc2UgaWYgKG1faGVhZC0+bV9wa3RoZHIuY3N1bV9mbGFncyAmIHNjLT5o bl9jc3VtX2Fzc2lzdCkgeworCX0gZWxzZSBpZiAobV9oZWFkLT5tX3BrdGhkci5jc3VtX2ZsYWdz ICYgdHhyLT5obl9jc3VtX2Fzc2lzdCkgewogCQlybmRpc190Y3BfaXBfY3N1bV9pbmZvICpjc3Vt X2luZm87CiAKIAkJcm5kaXNfbXNnX3NpemUgKz0gUk5ESVNfQ1NVTV9QUElfU0laRTsKQEAgLTgz Nyw4ICs3OTQsOCBAQAogCS8qCiAJICogQ2hpbW5leSBzZW5kLCBpZiB0aGUgcGFja2V0IGNvdWxk IGZpdCBpbnRvIG9uZSBjaGltbmV5IGJ1ZmZlci4KIAkgKi8KLQlpZiAocGFja2V0LT50b3RfZGF0 YV9idWZfbGVuIDwgc2MtPmhuX3R4X2NoaW1uZXlfc2l6ZSkgewotCQluZXR2c2NfZGV2ICpuZXRf ZGV2ID0gc2MtPm5ldF9kZXY7CisJaWYgKHBhY2tldC0+dG90X2RhdGFfYnVmX2xlbiA8IHR4ci0+ aG5fdHhfY2hpbW5leV9zaXplKSB7CisJCW5ldHZzY19kZXYgKm5ldF9kZXYgPSB0eHItPmhuX3Nj LT5uZXRfZGV2OwogCQl1aW50MzJfdCBzZW5kX2J1Zl9zZWN0aW9uX2lkeDsKIAogCQlzZW5kX2J1 Zl9zZWN0aW9uX2lkeCA9CkBAIC04NTcsMTIgKzgxNCwxMiBAQAogCQkJcGFja2V0LT5zZW5kX2J1 Zl9zZWN0aW9uX3NpemUgPQogCQkJICAgIHBhY2tldC0+dG90X2RhdGFfYnVmX2xlbjsKIAkJCXBh Y2tldC0+cGFnZV9idWZfY291bnQgPSAwOwotCQkJc2MtPmhuX3R4X2NoaW1uZXkrKzsKKwkJCXR4 ci0+aG5fdHhfY2hpbW5leSsrOwogCQkJZ290byBkb25lOwogCQl9CiAJfQogCi0JZXJyb3IgPSBo bl90eGRlc2NfZG1hbWFwX2xvYWQoc2MsIHR4ZCwgJm1faGVhZCwgc2VncywgJm5zZWdzKTsKKwll cnJvciA9IGhuX3R4ZGVzY19kbWFtYXBfbG9hZCh0eHIsIHR4ZCwgJm1faGVhZCwgc2VncywgJm5z ZWdzKTsKIAlpZiAoZXJyb3IpIHsKIAkJaW50IGZyZWVkOwogCkBAIC04NzIsMTIgKzgyOSwxMiBA QAogCQltX2ZyZWVtKG1faGVhZCk7CiAJCSptX2hlYWQwID0gTlVMTDsKIAotCQlmcmVlZCA9IGhu X3R4ZGVzY19wdXQoc2MsIHR4ZCk7CisJCWZyZWVkID0gaG5fdHhkZXNjX3B1dCh0eHIsIHR4ZCk7 CiAJCUtBU1NFUlQoZnJlZWQgIT0gMCwKIAkJICAgICgiZmFpbCB0byBmcmVlIHR4ZCB1cG9uIHR4 ZG1hIGVycm9yIikpOwogCi0JCXNjLT5obl90eGRtYV9mYWlsZWQrKzsKLQkJaWZfaW5jX2NvdW50 ZXIoc2MtPmhuX2lmcCwgSUZDT1VOVEVSX09FUlJPUlMsIDEpOworCQl0eHItPmhuX3R4ZG1hX2Zh aWxlZCsrOworCQlpZl9pbmNfY291bnRlcih0eHItPmhuX3NjLT5obl9pZnAsIElGQ09VTlRFUl9P RVJST1JTLCAxKTsKIAkJcmV0dXJuIGVycm9yOwogCX0KIAkqbV9oZWFkMCA9IG1faGVhZDsKQEAg LTkyMCwxMSArODc3LDE1IEBACiAgKiBTdGFydCBhIHRyYW5zbWl0IG9mIG9uZSBvciBtb3JlIHBh Y2tldHMKICAqLwogc3RhdGljIGludAotaG5fc3RhcnRfbG9ja2VkKHN0cnVjdCBpZm5ldCAqaWZw LCBpbnQgbGVuKQoraG5fc3RhcnRfbG9ja2VkKHN0cnVjdCBobl90eF9yaW5nICp0eHIsIGludCBs ZW4pCiB7Ci0Jc3RydWN0IGhuX3NvZnRjICpzYyA9IGlmcC0+aWZfc29mdGM7CisJc3RydWN0IGhu X3NvZnRjICpzYyA9IHR4ci0+aG5fc2M7CisJc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+aG5faWZw OwogCXN0cnVjdCBodl9kZXZpY2UgKmRldmljZV9jdHggPSB2bWJ1c19nZXRfZGV2Y3R4KHNjLT5o bl9kZXYpOwogCisJS0FTU0VSVCh0eHIgPT0gJnNjLT5obl90eF9yaW5nWzBdLCAoIm5vdCB0aGUg Zmlyc3QgVFggcmluZyIpKTsKKwltdHhfYXNzZXJ0KCZ0eHItPmhuX3R4X2xvY2ssIE1BX09XTkVE KTsKKwogCWlmICgoaWZwLT5pZl9kcnZfZmxhZ3MgJiAoSUZGX0RSVl9SVU5OSU5HIHwgSUZGX0RS Vl9PQUNUSVZFKSkgIT0KIAkgICAgSUZGX0RSVl9SVU5OSU5HKQogCQlyZXR1cm4gMDsKQEAgLTk0 OCwxNSArOTA5LDE1IEBACiAJCQlyZXR1cm4gMTsKIAkJfQogCi0JCXR4ZCA9IGhuX3R4ZGVzY19n ZXQoc2MpOworCQl0eGQgPSBobl90eGRlc2NfZ2V0KHR4cik7CiAJCWlmICh0eGQgPT0gTlVMTCkg ewotCQkJc2MtPmhuX25vX3R4ZGVzY3MrKzsKKwkJCXR4ci0+aG5fbm9fdHhkZXNjcysrOwogCQkJ SUZfUFJFUEVORCgmaWZwLT5pZl9zbmQsIG1faGVhZCk7CiAJCQlhdG9taWNfc2V0X2ludCgmaWZw LT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7CiAJCQlicmVhazsKIAkJfQogCi0JCWVy cm9yID0gaG5fZW5jYXAoc2MsIHR4ZCwgJm1faGVhZCk7CisJCWVycm9yID0gaG5fZW5jYXAodHhy LCB0eGQsICZtX2hlYWQpOwogCQlpZiAoZXJyb3IpIHsKIAkJCS8qIEJvdGggdHhkIGFuZCBtX2hl YWQgYXJlIGZyZWVkICovCiAJCQljb250aW51ZTsKQEAgLTk3MSw3ICs5MzIsNyBAQAogCQkJRVRI RVJfQlBGX01UQVAoaWZwLCBtX2hlYWQpOwogCQkJaWZfaW5jX2NvdW50ZXIoaWZwLCBJRkNPVU5U RVJfT1BBQ0tFVFMsIDEpOwogCQl9Ci0JCWhuX3R4ZGVzY19wdXQoc2MsIHR4ZCk7CisJCWhuX3R4 ZGVzY19wdXQodHhyLCB0eGQpOwogCiAJCWlmIChfX3ByZWRpY3RfZmFsc2UoZXJyb3IpKSB7CiAJ CQlpbnQgZnJlZWQ7CkBAIC05ODMsOSArOTQ0LDkgQEAKIAkJCSAqIGNvbW1hbmRzIHRvIHJ1bj8g IEFzayBuZXR2c2NfY2hhbm5lbF9yb2xsdXAoKQogCQkJICogdG8ga2ljayBzdGFydCBsYXRlci4K IAkJCSAqLwotCQkJc2MtPmhuX3R4ZW9mID0gMTsKKwkJCXR4ci0+aG5fdHhlb2YgPSAxOwogCQkJ aWYgKCFzZW5kX2ZhaWxlZCkgewotCQkJCXNjLT5obl9zZW5kX2ZhaWxlZCsrOworCQkJCXR4ci0+ aG5fc2VuZF9mYWlsZWQrKzsKIAkJCQlzZW5kX2ZhaWxlZCA9IDE7CiAJCQkJLyoKIAkJCQkgKiBU cnkgc2VuZGluZyBhZ2FpbiBhZnRlciBzZXQgaG5fdHhlb2Y7CkBAIC0xMDAyLDExICs5NjMsMTEg QEAKIAkJCSAqIERNQSBtYXAgaW4gaG5fdHhkZXNjX3B1dCgpLCBpZiBpdCB3YXMgbG9hZGVkLgog CQkJICovCiAJCQl0eGQtPm0gPSBOVUxMOwotCQkJZnJlZWQgPSBobl90eGRlc2NfcHV0KHNjLCB0 eGQpOworCQkJZnJlZWQgPSBobl90eGRlc2NfcHV0KHR4ciwgdHhkKTsKIAkJCUtBU1NFUlQoZnJl ZWQgIT0gMCwKIAkJCSAgICAoImZhaWwgdG8gZnJlZSB0eGQgdXBvbiBzZW5kIGVycm9yIikpOwog Ci0JCQlzYy0+aG5fc2VuZF9mYWlsZWQrKzsKKwkJCXR4ci0+aG5fc2VuZF9mYWlsZWQrKzsKIAkJ CUlGX1BSRVBFTkQoJmlmcC0+aWZfc25kLCBtX2hlYWQpOwogCQkJYXRvbWljX3NldF9pbnQoJmlm cC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOwogCQkJYnJlYWs7CkBAIC0xMzg0LDgg KzEzNDUsMTAgQEAKIAkJfQogCiAJCXNjLT5obl90eF9jaGltbmV5X21heCA9IHNjLT5uZXRfZGV2 LT5zZW5kX3NlY3Rpb25fc2l6ZTsKLQkJaWYgKHNjLT5obl90eF9jaGltbmV5X3NpemUgPiBzYy0+ aG5fdHhfY2hpbW5leV9tYXgpCi0JCQlzYy0+aG5fdHhfY2hpbW5leV9zaXplID0gc2MtPmhuX3R4 X2NoaW1uZXlfbWF4OworCQlpZiAoc2MtPmhuX3R4X3JpbmdbMF0uaG5fdHhfY2hpbW5leV9zaXpl ID4KKwkJICAgIHNjLT5obl90eF9jaGltbmV5X21heCkKKwkJCWhuX3NldF90eF9jaGltbmV5X3Np emUoc2MsIHNjLT5obl90eF9jaGltbmV5X21heCk7CisKIAkJaG5faWZpbml0X2xvY2tlZChzYyk7 CiAKIAkJTlZfTE9DSyhzYyk7CkBAIC0xNDUwLDEwICsxNDEzLDEzIEBACiAJCW1hc2sgPSBpZnIt Pmlmcl9yZXFjYXAgXiBpZnAtPmlmX2NhcGVuYWJsZTsKIAkJaWYgKG1hc2sgJiBJRkNBUF9UWENT VU0pIHsKIAkJCWlmcC0+aWZfY2FwZW5hYmxlIF49IElGQ0FQX1RYQ1NVTTsKLQkJCWlmIChpZnAt PmlmX2NhcGVuYWJsZSAmIElGQ0FQX1RYQ1NVTSkKLQkJCQlpZnAtPmlmX2h3YXNzaXN0IHw9IHNj LT5obl9jc3VtX2Fzc2lzdDsKLQkJCWVsc2UKLQkJCQlpZnAtPmlmX2h3YXNzaXN0ICY9IH5zYy0+ aG5fY3N1bV9hc3Npc3Q7CisJCQlpZiAoaWZwLT5pZl9jYXBlbmFibGUgJiBJRkNBUF9UWENTVU0p IHsKKwkJCQlpZnAtPmlmX2h3YXNzaXN0IHw9CisJCQkJICAgIHNjLT5obl90eF9yaW5nWzBdLmhu X2NzdW1fYXNzaXN0OworCQkJfSBlbHNlIHsKKwkJCQlpZnAtPmlmX2h3YXNzaXN0ICY9CisJCQkJ ICAgIH5zYy0+aG5fdHhfcmluZ1swXS5obl9jc3VtX2Fzc2lzdDsKKwkJCX0KIAkJfQogCiAJCWlm IChtYXNrICYgSUZDQVBfUlhDU1VNKQpAQCAtMTUzNiw0OCArMTUwMiw1NCBAQAogaG5fc3RhcnQo c3RydWN0IGlmbmV0ICppZnApCiB7CiAJc3RydWN0IGhuX3NvZnRjICpzYyA9IGlmcC0+aWZfc29m dGM7CisJc3RydWN0IGhuX3R4X3JpbmcgKnR4ciA9ICZzYy0+aG5fdHhfcmluZ1swXTsKIAotCWlm IChzYy0+aG5fc2NoZWRfdHgpCisJaWYgKHR4ci0+aG5fc2NoZWRfdHgpCiAJCWdvdG8gZG9fc2No ZWQ7CiAKLQlpZiAoTlZfVFJZTE9DSyhzYykpIHsKKwlpZiAobXR4X3RyeWxvY2soJnR4ci0+aG5f dHhfbG9jaykpIHsKIAkJaW50IHNjaGVkOwogCi0JCXNjaGVkID0gaG5fc3RhcnRfbG9ja2VkKGlm cCwgc2MtPmhuX2RpcmVjdF90eF9zaXplKTsKLQkJTlZfVU5MT0NLKHNjKTsKKwkJc2NoZWQgPSBo bl9zdGFydF9sb2NrZWQodHhyLCB0eHItPmhuX2RpcmVjdF90eF9zaXplKTsKKwkJbXR4X3VubG9j aygmdHhyLT5obl90eF9sb2NrKTsKIAkJaWYgKCFzY2hlZCkKIAkJCXJldHVybjsKIAl9CiBkb19z Y2hlZDoKLQl0YXNrcXVldWVfZW5xdWV1ZShzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fc3RhcnRf dGFzayk7CisJdGFza3F1ZXVlX2VucXVldWUodHhyLT5obl90eF90YXNrcSwgJnR4ci0+aG5fc3Rh cnRfdGFzayk7CiB9CiAKIHN0YXRpYyB2b2lkCi1obl9zdGFydF90eGVvZihzdHJ1Y3QgaWZuZXQg KmlmcCkKK2huX3N0YXJ0X3R4ZW9mKHN0cnVjdCBobl90eF9yaW5nICp0eHIpCiB7Ci0Jc3RydWN0 IGhuX3NvZnRjICpzYyA9IGlmcC0+aWZfc29mdGM7CisJc3RydWN0IGhuX3NvZnRjICpzYyA9IHR4 ci0+aG5fc2M7CisJc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+aG5faWZwOwogCi0JaWYgKHNjLT5o bl9zY2hlZF90eCkKKwlLQVNTRVJUKHR4ciA9PSAmc2MtPmhuX3R4X3JpbmdbMF0sICgibm90IHRo ZSBmaXJzdCBUWCByaW5nIikpOworCisJaWYgKHR4ci0+aG5fc2NoZWRfdHgpCiAJCWdvdG8gZG9f c2NoZWQ7CiAKLQlpZiAoTlZfVFJZTE9DSyhzYykpIHsKKwlpZiAobXR4X3RyeWxvY2soJnR4ci0+ aG5fdHhfbG9jaykpIHsKIAkJaW50IHNjaGVkOwogCiAJCWF0b21pY19jbGVhcl9pbnQoJmlmcC0+ aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOwotCQlzY2hlZCA9IGhuX3N0YXJ0X2xvY2tl ZChpZnAsIHNjLT5obl9kaXJlY3RfdHhfc2l6ZSk7Ci0JCU5WX1VOTE9DSyhzYyk7Ci0JCWlmIChz Y2hlZCkKLQkJCXRhc2txdWV1ZV9lbnF1ZXVlKHNjLT5obl90eF90YXNrcSwgJnNjLT5obl9zdGFy dF90YXNrKTsKKwkJc2NoZWQgPSBobl9zdGFydF9sb2NrZWQodHhyLCB0eHItPmhuX2RpcmVjdF90 eF9zaXplKTsKKwkJbXR4X3VubG9jaygmdHhyLT5obl90eF9sb2NrKTsKKwkJaWYgKHNjaGVkKSB7 CisJCQl0YXNrcXVldWVfZW5xdWV1ZSh0eHItPmhuX3R4X3Rhc2txLAorCQkJICAgICZ0eHItPmhu X3N0YXJ0X3Rhc2spOworCQl9CiAJfSBlbHNlIHsKIGRvX3NjaGVkOgogCQkvKgogCQkgKiBSZWxl YXNlIHRoZSBPQUNUSVZFIGVhcmxpZXIsIHdpdGggdGhlIGhvcGUsIHRoYXQKIAkJICogb3RoZXJz IGNvdWxkIGNhdGNoIHVwLiAgVGhlIHRhc2sgd2lsbCBjbGVhciB0aGUKLQkJICogZmxhZyBhZ2Fp biB3aXRoIHRoZSBOVl9MT0NLIHRvIGF2b2lkIHBvc3NpYmxlCisJCSAqIGZsYWcgYWdhaW4gd2l0 aCB0aGUgaG5fdHhfbG9jayB0byBhdm9pZCBwb3NzaWJsZQogCQkgKiByYWNlcy4KIAkJICovCiAJ CWF0b21pY19jbGVhcl9pbnQoJmlmcC0+aWZfZHJ2X2ZsYWdzLCBJRkZfRFJWX09BQ1RJVkUpOwot CQl0YXNrcXVldWVfZW5xdWV1ZShzYy0+aG5fdHhfdGFza3EsICZzYy0+aG5fdHhlb2ZfdGFzayk7 CisJCXRhc2txdWV1ZV9lbnF1ZXVlKHR4ci0+aG5fdHhfdGFza3EsICZ0eHItPmhuX3R4ZW9mX3Rh c2spOwogCX0KIH0KIApAQCAtMTczNiwxNiArMTcwOCwxNSBAQAogCXN0cnVjdCBobl9zb2Z0YyAq c2MgPSBhcmcxOwogCWludCBjaGltbmV5X3NpemUsIGVycm9yOwogCi0JY2hpbW5leV9zaXplID0g c2MtPmhuX3R4X2NoaW1uZXlfc2l6ZTsKKwljaGltbmV5X3NpemUgPSBzYy0+aG5fdHhfcmluZ1sw XS5obl90eF9jaGltbmV5X3NpemU7CiAJZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAm Y2hpbW5leV9zaXplLCAwLCByZXEpOwogCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9PSBOVUxM KQogCQlyZXR1cm4gZXJyb3I7CiAKIAlpZiAoY2hpbW5leV9zaXplID4gc2MtPmhuX3R4X2NoaW1u ZXlfbWF4IHx8IGNoaW1uZXlfc2l6ZSA8PSAwKQogCQlyZXR1cm4gRUlOVkFMOwogCi0JaWYgKHNj LT5obl90eF9jaGltbmV5X3NpemUgIT0gY2hpbW5leV9zaXplKQotCQlzYy0+aG5fdHhfY2hpbW5l eV9zaXplID0gY2hpbW5leV9zaXplOworCWhuX3NldF90eF9jaGltbmV5X3NpemUoc2MsIGNoaW1u ZXlfc2l6ZSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE4MDIsNiArMTc3Myw1NiBAQAogfQogCiBz dGF0aWMgaW50Citobl90eF9zdGF0X3Vsb25nX3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKQor eworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBhcmcxOworCWludCBvZnMgPSBhcmcyLCBpLCBlcnJv cjsKKwlzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyOworCXVfbG9uZyBzdGF0OworCisJc3RhdCA9IDA7 CisJZm9yIChpID0gMDsgaSA8IHNjLT5obl90eF9yaW5nX2NudDsgKytpKSB7CisJCXR4ciA9ICZz Yy0+aG5fdHhfcmluZ1tpXTsKKwkJc3RhdCArPSAqKCh1X2xvbmcgKikoKHVpbnQ4X3QgKil0eHIg KyBvZnMpKTsKKwl9CisKKwllcnJvciA9IHN5c2N0bF9oYW5kbGVfbG9uZyhvaWRwLCAmc3RhdCwg MCwgcmVxKTsKKwlpZiAoZXJyb3IgfHwgcmVxLT5uZXdwdHIgPT0gTlVMTCkKKwkJcmV0dXJuIGVy cm9yOworCisJLyogWmVybyBvdXQgdGhpcyBzdGF0LiAqLworCWZvciAoaSA9IDA7IGkgPCBzYy0+ aG5fdHhfcmluZ19jbnQ7ICsraSkgeworCQl0eHIgPSAmc2MtPmhuX3R4X3JpbmdbaV07CisJCSoo KHVfbG9uZyAqKSgodWludDhfdCAqKXR4ciArIG9mcykpID0gMDsKKwl9CisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQKK2huX3R4X2NvbmZfaW50X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdT KQoreworCXN0cnVjdCBobl9zb2Z0YyAqc2MgPSBhcmcxOworCWludCBvZnMgPSBhcmcyLCBpLCBl cnJvciwgY29uZjsKKwlzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyOworCisJdHhyID0gJnNjLT5obl90 eF9yaW5nWzBdOworCWNvbmYgPSAqKChpbnQgKikoKHVpbnQ4X3QgKil0eHIgKyBvZnMpKTsKKwor CWVycm9yID0gc3lzY3RsX2hhbmRsZV9pbnQob2lkcCwgJmNvbmYsIDAsIHJlcSk7CisJaWYgKGVy cm9yIHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCisJCXJldHVybiBlcnJvcjsKKworCU5WX0xPQ0so c2MpOworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fdHhfcmluZ19jbnQ7ICsraSkgeworCQl0eHIg PSAmc2MtPmhuX3R4X3JpbmdbaV07CisJCSooKGludCAqKSgodWludDhfdCAqKXR4ciArIG9mcykp ID0gY29uZjsKKwl9CisJTlZfVU5MT0NLKHNjKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMg aW50CiBobl9jaGVja19pcGxlbihjb25zdCBzdHJ1Y3QgbWJ1ZiAqbSwgaW50IGhvZmYpCiB7CiAJ Y29uc3Qgc3RydWN0IGlwICppcDsKQEAgLTIwMTksMTYgKzIwNDAsMzcgQEAKIH0KIAogc3RhdGlj IGludAotaG5fY3JlYXRlX3R4X3Jpbmcoc3RydWN0IGhuX3NvZnRjICpzYykKK2huX2NyZWF0ZV90 eF9yaW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MsIGludCBpZCkKIHsKKwlzdHJ1Y3QgaG5fdHhfcmlu ZyAqdHhyID0gJnNjLT5obl90eF9yaW5nW2lkXTsKIAlidXNfZG1hX3RhZ190IHBhcmVudF9kdGFn OwogCWludCBlcnJvciwgaTsKIAotCXNjLT5obl90eGRlc2NfY250ID0gSE5fVFhfREVTQ19DTlQ7 Ci0Jc2MtPmhuX3R4ZGVzYyA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGhuX3R4ZGVzYykgKiBzYy0+ aG5fdHhkZXNjX2NudCwKKwl0eHItPmhuX3NjID0gc2M7CisKKwltdHhfaW5pdCgmdHhyLT5obl90 eGxpc3Rfc3BpbiwgImhuIHR4bGlzdCIsIE5VTEwsIE1UWF9TUElOKTsKKwltdHhfaW5pdCgmdHhy LT5obl90eF9sb2NrLCAiaG4gdHgiLCBOVUxMLCBNVFhfREVGKTsKKworCXR4ci0+aG5fdHhkZXNj X2NudCA9IEhOX1RYX0RFU0NfQ05UOworCXR4ci0+aG5fdHhkZXNjID0gbWFsbG9jKHNpemVvZihz dHJ1Y3QgaG5fdHhkZXNjKSAqIHR4ci0+aG5fdHhkZXNjX2NudCwKIAkgICAgTV9ORVRWU0MsIE1f V0FJVE9LIHwgTV9aRVJPKTsKLQlTTElTVF9JTklUKCZzYy0+aG5fdHhsaXN0KTsKLQltdHhfaW5p dCgmc2MtPmhuX3R4bGlzdF9zcGluLCAiaG4gdHhsaXN0IiwgTlVMTCwgTVRYX1NQSU4pOworCVNM SVNUX0lOSVQoJnR4ci0+aG5fdHhsaXN0KTsKKworCXR4ci0+aG5fdHhfdGFza3EgPSBzYy0+aG5f dHhfdGFza3E7CisJVEFTS19JTklUKCZ0eHItPmhuX3N0YXJ0X3Rhc2ssIDAsIGhuX3N0YXJ0X3Rh c2tmdW5jLCB0eHIpOworCVRBU0tfSU5JVCgmdHhyLT5obl90eGVvZl90YXNrLCAwLCBobl90eGVv Zl90YXNrZnVuYywgdHhyKTsKKworCXR4ci0+aG5fZGlyZWN0X3R4X3NpemUgPSBobl9kaXJlY3Rf dHhfc2l6ZTsKKwlpZiAoaHZfdm1idXNfcHJvdG9jYWxfdmVyc2lvbiA+PSBIVl9WTUJVU19WRVJT SU9OX1dJTjhfMSkKKwkJdHhyLT5obl9jc3VtX2Fzc2lzdCA9IEhOX0NTVU1fQVNTSVNUOworCWVs c2UKKwkJdHhyLT5obl9jc3VtX2Fzc2lzdCA9IEhOX0NTVU1fQVNTSVNUX1dJTjg7CisKKwkvKgor CSAqIEFsd2F5cyBzY2hlZHVsZSB0cmFuc21pc3Npb24gaW5zdGVhZCBvZiB0cnlpbmcgdG8gZG8g ZGlyZWN0CisJICogdHJhbnNtaXNzaW9uLiAgVGhpcyBvbmUgZ2l2ZXMgdGhlIGJlc3QgcGVyZm9y bWFuY2Ugc28gZmFyLgorCSAqLworCXR4ci0+aG5fc2NoZWRfdHggPSAxOwogCiAJcGFyZW50X2R0 YWcgPSBidXNfZ2V0X2RtYV90YWcoc2MtPmhuX2Rldik7CiAKQEAgLTIwNDUsNyArMjA4Nyw3IEBA CiAJICAgIDAsCQkJCS8qIGZsYWdzICovCiAJICAgIE5VTEwsCQkJLyogbG9ja2Z1bmMgKi8KIAkg ICAgTlVMTCwJCQkvKiBsb2NrZnVuY2FyZyAqLwotCSAgICAmc2MtPmhuX3R4X3JuZGlzX2R0YWcp OworCSAgICAmdHhyLT5obl90eF9ybmRpc19kdGFnKTsKIAlpZiAoZXJyb3IpIHsKIAkJZGV2aWNl X3ByaW50ZihzYy0+aG5fZGV2LCAiZmFpbGVkIHRvIGNyZWF0ZSBybmRpcyBkbWF0YWdcbiIpOwog CQlyZXR1cm4gZXJyb3I7CkBAIC0yMDY0LDIxICsyMTA2LDIxIEBACiAJICAgIDAsCQkJCS8qIGZs YWdzICovCiAJICAgIE5VTEwsCQkJLyogbG9ja2Z1bmMgKi8KIAkgICAgTlVMTCwJCQkvKiBsb2Nr ZnVuY2FyZyAqLwotCSAgICAmc2MtPmhuX3R4X2RhdGFfZHRhZyk7CisJICAgICZ0eHItPmhuX3R4 X2RhdGFfZHRhZyk7CiAJaWYgKGVycm9yKSB7CiAJCWRldmljZV9wcmludGYoc2MtPmhuX2Rldiwg ImZhaWxlZCB0byBjcmVhdGUgZGF0YSBkbWF0YWdcbiIpOwogCQlyZXR1cm4gZXJyb3I7CiAJfQog Ci0JZm9yIChpID0gMDsgaSA8IHNjLT5obl90eGRlc2NfY250OyArK2kpIHsKLQkJc3RydWN0IGhu X3R4ZGVzYyAqdHhkID0gJnNjLT5obl90eGRlc2NbaV07CisJZm9yIChpID0gMDsgaSA8IHR4ci0+ aG5fdHhkZXNjX2NudDsgKytpKSB7CisJCXN0cnVjdCBobl90eGRlc2MgKnR4ZCA9ICZ0eHItPmhu X3R4ZGVzY1tpXTsKIAotCQl0eGQtPnNjID0gc2M7CisJCXR4ZC0+dHhyID0gdHhyOwogCiAJCS8q CiAJCSAqIEFsbG9jYXRlIGFuZCBsb2FkIFJORElTIG1lc3NhZ2VzLgogCQkgKi8KLSAgICAgICAg CWVycm9yID0gYnVzX2RtYW1lbV9hbGxvYyhzYy0+aG5fdHhfcm5kaXNfZHRhZywKKyAgICAgICAg CWVycm9yID0gYnVzX2RtYW1lbV9hbGxvYyh0eHItPmhuX3R4X3JuZGlzX2R0YWcsCiAJCSAgICAo dm9pZCAqKikmdHhkLT5ybmRpc19tc2csCiAJCSAgICBCVVNfRE1BX1dBSVRPSyB8IEJVU19ETUFf Q09IRVJFTlQsCiAJCSAgICAmdHhkLT5ybmRpc19tc2dfZG1hcCk7CkBAIC0yMDg4LDg4ICsyMTMw LDIyOSBAQAogCQkJcmV0dXJuIGVycm9yOwogCQl9CiAKLQkJZXJyb3IgPSBidXNfZG1hbWFwX2xv YWQoc2MtPmhuX3R4X3JuZGlzX2R0YWcsCisJCWVycm9yID0gYnVzX2RtYW1hcF9sb2FkKHR4ci0+ aG5fdHhfcm5kaXNfZHRhZywKIAkJICAgIHR4ZC0+cm5kaXNfbXNnX2RtYXAsCiAJCSAgICB0eGQt PnJuZGlzX21zZywgSE5fUk5ESVNfTVNHX0xFTiwKIAkJICAgIGhuX2RtYV9tYXBfcGFkZHIsICZ0 eGQtPnJuZGlzX21zZ19wYWRkciwKIAkJICAgIEJVU19ETUFfTk9XQUlUKTsKIAkJaWYgKGVycm9y KSB7CiAJCQlkZXZpY2VfcHJpbnRmKHNjLT5obl9kZXYsCiAJCQkgICAgImZhaWxlZCB0byBsb2Fk IHJuZGlzX21zZywgJWRcbiIsIGkpOwotCQkJYnVzX2RtYW1lbV9mcmVlKHNjLT5obl90eF9ybmRp c19kdGFnLAorCQkJYnVzX2RtYW1lbV9mcmVlKHR4ci0+aG5fdHhfcm5kaXNfZHRhZywKIAkJCSAg ICB0eGQtPnJuZGlzX21zZywgdHhkLT5ybmRpc19tc2dfZG1hcCk7CiAJCQlyZXR1cm4gZXJyb3I7 CiAJCX0KIAogCQkvKiBETUEgbWFwIGZvciBUWCBkYXRhLiAqLwotCQllcnJvciA9IGJ1c19kbWFt YXBfY3JlYXRlKHNjLT5obl90eF9kYXRhX2R0YWcsIDAsCisJCWVycm9yID0gYnVzX2RtYW1hcF9j cmVhdGUodHhyLT5obl90eF9kYXRhX2R0YWcsIDAsCiAJCSAgICAmdHhkLT5kYXRhX2RtYXApOwog CQlpZiAoZXJyb3IpIHsKIAkJCWRldmljZV9wcmludGYoc2MtPmhuX2RldiwKIAkJCSAgICAiZmFp bGVkIHRvIGFsbG9jYXRlIHR4IGRhdGEgZG1hbWFwXG4iKTsKLQkJCWJ1c19kbWFtYXBfdW5sb2Fk KHNjLT5obl90eF9ybmRpc19kdGFnLAorCQkJYnVzX2RtYW1hcF91bmxvYWQodHhyLT5obl90eF9y bmRpc19kdGFnLAogCQkJICAgIHR4ZC0+cm5kaXNfbXNnX2RtYXApOwotCQkJYnVzX2RtYW1lbV9m cmVlKHNjLT5obl90eF9ybmRpc19kdGFnLAorCQkJYnVzX2RtYW1lbV9mcmVlKHR4ci0+aG5fdHhf cm5kaXNfZHRhZywKIAkJCSAgICB0eGQtPnJuZGlzX21zZywgdHhkLT5ybmRpc19tc2dfZG1hcCk7 CiAJCQlyZXR1cm4gZXJyb3I7CiAJCX0KIAogCQkvKiBBbGwgc2V0LCBwdXQgaXQgdG8gbGlzdCAq LwogCQl0eGQtPmZsYWdzIHw9IEhOX1RYRF9GTEFHX09OTElTVDsKLQkJU0xJU1RfSU5TRVJUX0hF QUQoJnNjLT5obl90eGxpc3QsIHR4ZCwgbGluayk7CisJCVNMSVNUX0lOU0VSVF9IRUFEKCZ0eHIt PmhuX3R4bGlzdCwgdHhkLCBsaW5rKTsKKwl9CisJdHhyLT5obl90eGRlc2NfYXZhaWwgPSB0eHIt PmhuX3R4ZGVzY19jbnQ7CisKKwlpZiAoc2MtPmhuX3R4X3N5c2N0bF90cmVlICE9IE5VTEwpIHsK KwkJc3RydWN0IHN5c2N0bF9vaWRfbGlzdCAqY2hpbGQ7CisJCXN0cnVjdCBzeXNjdGxfY3R4X2xp c3QgKmN0eDsKKwkJY2hhciBuYW1lWzE2XTsKKworCQkvKgorCQkgKiBDcmVhdGUgcGVyIFRYIHJp bmcgc3lzY3RsIHRyZWU6CisJCSAqIGRldi5obi5VTklULnR4LlJJTkdJRAorCQkgKi8KKwkJY3R4 ID0gZGV2aWNlX2dldF9zeXNjdGxfY3R4KHNjLT5obl9kZXYpOworCQljaGlsZCA9IFNZU0NUTF9D SElMRFJFTihzYy0+aG5fdHhfc3lzY3RsX3RyZWUpOworCisJCXNucHJpbnRmKG5hbWUsIHNpemVv ZihuYW1lKSwgIiVkIiwgaWQpOworCQl0eHItPmhuX3R4X3N5c2N0bF90cmVlID0gU1lTQ1RMX0FE RF9OT0RFKGN0eCwgY2hpbGQsIE9JRF9BVVRPLAorCQkgICAgbmFtZSwgQ1RMRkxBR19SRCwgMCwg IiIpOworCisJCWlmICh0eHItPmhuX3R4X3N5c2N0bF90cmVlICE9IE5VTEwpIHsKKwkJCWNoaWxk ID0gU1lTQ1RMX0NISUxEUkVOKHR4ci0+aG5fdHhfc3lzY3RsX3RyZWUpOworCisJCQlTWVNDVExf QUREX0lOVChjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4ZGVzY19hdmFpbCIsCisJCQkgICAgQ1RM RkxBR19SRCwgJnR4ci0+aG5fdHhkZXNjX2F2YWlsLCAwLAorCQkJICAgICIjIG9mIGF2YWlsYWJs ZSBUWCBkZXNjcyIpOworCQl9CiAJfQotCXNjLT5obl90eGRlc2NfYXZhaWwgPSBzYy0+aG5fdHhk ZXNjX2NudDsKIAogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZAotaG5fZGVzdHJveV90eF9y aW5nKHN0cnVjdCBobl9zb2Z0YyAqc2MpCitobl9kZXN0cm95X3R4X3Jpbmcoc3RydWN0IGhuX3R4 X3JpbmcgKnR4cikKIHsKIAlzdHJ1Y3QgaG5fdHhkZXNjICp0eGQ7CiAKLQl3aGlsZSAoKHR4ZCA9 IFNMSVNUX0ZJUlNUKCZzYy0+aG5fdHhsaXN0KSkgIT0gTlVMTCkgeworCWlmICh0eHItPmhuX3R4 ZGVzYyA9PSBOVUxMKQorCQlyZXR1cm47CisKKwl3aGlsZSAoKHR4ZCA9IFNMSVNUX0ZJUlNUKCZ0 eHItPmhuX3R4bGlzdCkpICE9IE5VTEwpIHsKIAkJS0FTU0VSVCh0eGQtPm0gPT0gTlVMTCwgKCJz dGlsbCBoYXMgbWJ1ZiBpbnN0YWxsZWQiKSk7CiAJCUtBU1NFUlQoKHR4ZC0+ZmxhZ3MgJiBITl9U WERfRkxBR19ETUFNQVApID09IDAsCiAJCSAgICAoInN0aWxsIGRtYSBtYXBwZWQiKSk7Ci0JCVNM SVNUX1JFTU9WRV9IRUFEKCZzYy0+aG5fdHhsaXN0LCBsaW5rKTsKKwkJU0xJU1RfUkVNT1ZFX0hF QUQoJnR4ci0+aG5fdHhsaXN0LCBsaW5rKTsKIAotCQlidXNfZG1hbWFwX3VubG9hZChzYy0+aG5f dHhfcm5kaXNfZHRhZywKKwkJYnVzX2RtYW1hcF91bmxvYWQodHhyLT5obl90eF9ybmRpc19kdGFn LAogCQkgICAgdHhkLT5ybmRpc19tc2dfZG1hcCk7Ci0JCWJ1c19kbWFtZW1fZnJlZShzYy0+aG5f dHhfcm5kaXNfZHRhZywKKwkJYnVzX2RtYW1lbV9mcmVlKHR4ci0+aG5fdHhfcm5kaXNfZHRhZywK IAkJICAgIHR4ZC0+cm5kaXNfbXNnLCB0eGQtPnJuZGlzX21zZ19kbWFwKTsKIAotCQlidXNfZG1h bWFwX2Rlc3Ryb3koc2MtPmhuX3R4X2RhdGFfZHRhZywgdHhkLT5kYXRhX2RtYXApOworCQlidXNf ZG1hbWFwX2Rlc3Ryb3kodHhyLT5obl90eF9kYXRhX2R0YWcsIHR4ZC0+ZGF0YV9kbWFwKTsKIAl9 CiAKLQlpZiAoc2MtPmhuX3R4X2RhdGFfZHRhZyAhPSBOVUxMKQotCQlidXNfZG1hX3RhZ19kZXN0 cm95KHNjLT5obl90eF9kYXRhX2R0YWcpOwotCWlmIChzYy0+aG5fdHhfcm5kaXNfZHRhZyAhPSBO VUxMKQotCQlidXNfZG1hX3RhZ19kZXN0cm95KHNjLT5obl90eF9ybmRpc19kdGFnKTsKLQlmcmVl KHNjLT5obl90eGRlc2MsIE1fTkVUVlNDKTsKLQltdHhfZGVzdHJveSgmc2MtPmhuX3R4bGlzdF9z cGluKTsKKwlpZiAodHhyLT5obl90eF9kYXRhX2R0YWcgIT0gTlVMTCkKKwkJYnVzX2RtYV90YWdf ZGVzdHJveSh0eHItPmhuX3R4X2RhdGFfZHRhZyk7CisJaWYgKHR4ci0+aG5fdHhfcm5kaXNfZHRh ZyAhPSBOVUxMKQorCQlidXNfZG1hX3RhZ19kZXN0cm95KHR4ci0+aG5fdHhfcm5kaXNfZHRhZyk7 CisJZnJlZSh0eHItPmhuX3R4ZGVzYywgTV9ORVRWU0MpOworCXR4ci0+aG5fdHhkZXNjID0gTlVM TDsKKworCW10eF9kZXN0cm95KCZ0eHItPmhuX3R4bGlzdF9zcGluKTsKKwltdHhfZGVzdHJveSgm dHhyLT5obl90eF9sb2NrKTsKK30KKworc3RhdGljIGludAoraG5fY3JlYXRlX3R4X2RhdGEoc3Ry dWN0IGhuX3NvZnRjICpzYykKK3sKKwlzdHJ1Y3Qgc3lzY3RsX29pZF9saXN0ICpjaGlsZDsKKwlz dHJ1Y3Qgc3lzY3RsX2N0eF9saXN0ICpjdHg7CisJaW50IGk7CisKKwlzYy0+aG5fdHhfcmluZ19j bnQgPSAxOyAvKiBUT0RPOiB2UlNTICovCisJc2MtPmhuX3R4X3JpbmcgPSBtYWxsb2Moc2l6ZW9m KHN0cnVjdCBobl90eF9yaW5nKSAqIHNjLT5obl90eF9yaW5nX2NudCwKKwkgICAgTV9ORVRWU0Ms IE1fV0FJVE9LIHwgTV9aRVJPKTsKKworCWN0eCA9IGRldmljZV9nZXRfc3lzY3RsX2N0eChzYy0+ aG5fZGV2KTsKKwljaGlsZCA9IFNZU0NUTF9DSElMRFJFTihkZXZpY2VfZ2V0X3N5c2N0bF90cmVl KHNjLT5obl9kZXYpKTsKKworCS8qIENyZWF0ZSBkZXYuaG4uVU5JVC50eCBzeXNjdGwgdHJlZSAq LworCXNjLT5obl90eF9zeXNjdGxfdHJlZSA9IFNZU0NUTF9BRERfTk9ERShjdHgsIGNoaWxkLCBP SURfQVVUTywgInR4IiwKKwkgICAgQ1RMRkxBR19SRCwgMCwgIiIpOworCisJZm9yIChpID0gMDsg aSA8IHNjLT5obl90eF9yaW5nX2NudDsgKytpKSB7CisJCWludCBlcnJvcjsKKworCQllcnJvciA9 IGhuX2NyZWF0ZV90eF9yaW5nKHNjLCBpKTsKKwkJaWYgKGVycm9yKQorCQkJcmV0dXJuIGVycm9y OworCX0KKworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgIm5vX3R4ZGVz Y3MiLAorCSAgICBDVExUWVBFX1VMT05HIHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zmc2V0 b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhuX25vX3R4ZGVzY3MpLAorCSAgICBobl90eF9zdGF0X3Vs b25nX3N5c2N0bCwgIkxVIiwgIiMgb2YgdGltZXMgc2hvcnQgb2YgVFggZGVzY3MiKTsKKwlTWVND VExfQUREX1BST0MoY3R4LCBjaGlsZCwgT0lEX0FVVE8sICJzZW5kX2ZhaWxlZCIsCisJICAgIENU TFRZUEVfVUxPTkcgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5f dHhfcmluZywgaG5fc2VuZF9mYWlsZWQpLAorCSAgICBobl90eF9zdGF0X3Vsb25nX3N5c2N0bCwg IkxVIiwgIiMgb2YgaHlwZXItdiBzZW5kaW5nIGZhaWx1cmUiKTsKKwlTWVNDVExfQUREX1BST0Mo Y3R4LCBjaGlsZCwgT0lEX0FVVE8sICJ0eGRtYV9mYWlsZWQiLAorCSAgICBDVExUWVBFX1VMT05H IHwgQ1RMRkxBR19SVywgc2MsCisJICAgIF9fb2Zmc2V0b2Yoc3RydWN0IGhuX3R4X3JpbmcsIGhu X3R4ZG1hX2ZhaWxlZCksCisJICAgIGhuX3R4X3N0YXRfdWxvbmdfc3lzY3RsLCAiTFUiLCAiIyBv ZiBUWCBETUEgZmFpbHVyZSIpOworCVNZU0NUTF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVU TywgInR4X2NvbGxhcHNlZCIsCisJICAgIENUTFRZUEVfVUxPTkcgfCBDVExGTEFHX1JXLCBzYywK KwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fdHhfcmluZywgaG5fdHhfY29sbGFwc2VkKSwKKwkg ICAgaG5fdHhfc3RhdF91bG9uZ19zeXNjdGwsICJMVSIsICIjIG9mIFRYIG1idWYgY29sbGFwc2Vk Iik7CisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAidHhfY2hpbW5leSIs CisJICAgIENUTFRZUEVfVUxPTkcgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihz dHJ1Y3QgaG5fdHhfcmluZywgaG5fdHhfY2hpbW5leSksCisJICAgIGhuX3R4X3N0YXRfdWxvbmdf c3lzY3RsLCAiTFUiLCAiIyBvZiBjaGltbmV5IHNlbmQiKTsKKwlTWVNDVExfQUREX0lOVChjdHgs IGNoaWxkLCBPSURfQVVUTywgInR4ZGVzY19jbnQiLAorCSAgICBDVExGTEFHX1JELCAmc2MtPmhu X3R4X3JpbmdbMF0uaG5fdHhkZXNjX2NudCwgMCwKKwkgICAgIiMgb2YgdG90YWwgVFggZGVzY3Mi KTsKKwlTWVNDVExfQUREX0lOVChjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4X2NoaW1uZXlfbWF4 IiwKKwkgICAgQ1RMRkxBR19SRCwgJnNjLT5obl90eF9jaGltbmV5X21heCwgMCwKKwkgICAgIkNo aW1uZXkgc2VuZCBwYWNrZXQgc2l6ZSB1cHBlciBib3VuZGFyeSIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInR4X2NoaW1uZXlfc2l6ZSIsCisJICAgIENUTFRZUEVf SU5UIHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX3R4X2NoaW1uZXlfc2l6ZV9zeXNjdGwsCisJICAg ICJJIiwgIkNoaW1uZXkgc2VuZCBwYWNrZXQgc2l6ZSBsaW1pdCIpOworCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImRpcmVjdF90eF9zaXplIiwKKwkgICAgQ1RMVFlQRV9J TlQgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fdHhfcmluZywg aG5fZGlyZWN0X3R4X3NpemUpLAorCSAgICBobl90eF9jb25mX2ludF9zeXNjdGwsICJJIiwKKwkg ICAgIlNpemUgb2YgdGhlIHBhY2tldCBmb3IgZGlyZWN0IHRyYW5zbWlzc2lvbiIpOworCVNZU0NU TF9BRERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInNjaGVkX3R4IiwKKwkgICAgQ1RMVFlQ RV9JTlQgfCBDVExGTEFHX1JXLCBzYywKKwkgICAgX19vZmZzZXRvZihzdHJ1Y3QgaG5fdHhfcmlu ZywgaG5fc2NoZWRfdHgpLAorCSAgICBobl90eF9jb25mX2ludF9zeXNjdGwsICJJIiwKKwkgICAg IkFsd2F5cyBzY2hlZHVsZSB0cmFuc21pc3Npb24gIgorCSAgICAiaW5zdGVhZCBvZiBkb2luZyBk aXJlY3QgdHJhbnNtaXNzaW9uIik7CisKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQKLWhu X3N0YXJ0X3Rhc2tmdW5jKHZvaWQgKnhzYywgaW50IHBlbmRpbmcgX191bnVzZWQpCitobl9zZXRf dHhfY2hpbW5leV9zaXplKHN0cnVjdCBobl9zb2Z0YyAqc2MsIGludCBjaGltbmV5X3NpemUpCiB7 Ci0Jc3RydWN0IGhuX3NvZnRjICpzYyA9IHhzYzsKKwlpbnQgaTsKIAogCU5WX0xPQ0soc2MpOwot CWhuX3N0YXJ0X2xvY2tlZChzYy0+aG5faWZwLCAwKTsKKwlmb3IgKGkgPSAwOyBpIDwgc2MtPmhu X3R4X3JpbmdfY250OyArK2kpCisJCXNjLT5obl90eF9yaW5nW2ldLmhuX3R4X2NoaW1uZXlfc2l6 ZSA9IGNoaW1uZXlfc2l6ZTsKIAlOVl9VTkxPQ0soc2MpOwogfQogCiBzdGF0aWMgdm9pZAotaG5f dHhlb2ZfdGFza2Z1bmModm9pZCAqeHNjLCBpbnQgcGVuZGluZyBfX3VudXNlZCkKK2huX2Rlc3Ry b3lfdHhfZGF0YShzdHJ1Y3QgaG5fc29mdGMgKnNjKQogewotCXN0cnVjdCBobl9zb2Z0YyAqc2Mg PSB4c2M7Ci0Jc3RydWN0IGlmbmV0ICppZnAgPSBzYy0+aG5faWZwOworCWludCBpOwogCi0JTlZf TE9DSyhzYyk7Ci0JYXRvbWljX2NsZWFyX2ludCgmaWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZf T0FDVElWRSk7Ci0JaG5fc3RhcnRfbG9ja2VkKGlmcCwgMCk7Ci0JTlZfVU5MT0NLKHNjKTsKKwlp ZiAoc2MtPmhuX3R4X3JpbmdfY250ID09IDApCisJCXJldHVybjsKKworCWZvciAoaSA9IDA7IGkg PCBzYy0+aG5fdHhfcmluZ19jbnQ7ICsraSkKKwkJaG5fZGVzdHJveV90eF9yaW5nKCZzYy0+aG5f dHhfcmluZ1tpXSk7CisKKwlmcmVlKHNjLT5obl90eF9yaW5nLCBNX05FVFZTQyk7CisJc2MtPmhu X3R4X3JpbmcgPSBOVUxMOworCisJc2MtPmhuX3R4X3JpbmdfY250ID0gMDsKK30KKworc3RhdGlj IHZvaWQKK2huX3N0YXJ0X3Rhc2tmdW5jKHZvaWQgKnh0eHIsIGludCBwZW5kaW5nIF9fdW51c2Vk KQoreworCXN0cnVjdCBobl90eF9yaW5nICp0eHIgPSB4dHhyOworCisJbXR4X2xvY2soJnR4ci0+ aG5fdHhfbG9jayk7CisJaG5fc3RhcnRfbG9ja2VkKHR4ciwgMCk7CisJbXR4X3VubG9jaygmdHhy LT5obl90eF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQKK2huX3R4ZW9mX3Rhc2tmdW5jKHZvaWQg Knh0eHIsIGludCBwZW5kaW5nIF9fdW51c2VkKQoreworCXN0cnVjdCBobl90eF9yaW5nICp0eHIg PSB4dHhyOworCisJbXR4X2xvY2soJnR4ci0+aG5fdHhfbG9jayk7CisJYXRvbWljX2NsZWFyX2lu dCgmdHhyLT5obl9zYy0+aG5faWZwLT5pZl9kcnZfZmxhZ3MsIElGRl9EUlZfT0FDVElWRSk7CisJ aG5fc3RhcnRfbG9ja2VkKHR4ciwgMCk7CisJbXR4X3VubG9jaygmdHhyLT5obl90eF9sb2NrKTsK K30KKworc3RhdGljIHZvaWQKK2huX3N0b3BfdHhfdGFza3Moc3RydWN0IGhuX3NvZnRjICpzYykK K3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBzYy0+aG5fdHhfcmluZ19jbnQ7ICsraSkg eworCQlzdHJ1Y3QgaG5fdHhfcmluZyAqdHhyID0gJnNjLT5obl90eF9yaW5nW2ldOworCisJCXRh c2txdWV1ZV9kcmFpbih0eHItPmhuX3R4X3Rhc2txLCAmdHhyLT5obl9zdGFydF90YXNrKTsKKwkJ dGFza3F1ZXVlX2RyYWluKHR4ci0+aG5fdHhfdGFza3EsICZ0eHItPmhuX3R4ZW9mX3Rhc2spOwor CX0KIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0 dnNjL2h2X25ldF92c2MuaCBiL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldF92c2Mu aAotLS0gYS9oZWFkL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKKysrIGIvaGVh ZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCkBAIC0xMDExLDYgKzEwMTEsMzgg QEAKICNkZWZpbmUgSE5fVFJVU1RfSENTVU1fVENQCTB4MDAwMgogI2RlZmluZSBITl9UUlVTVF9I Q1NVTV9VRFAJMHgwMDA0CiAKK3N0cnVjdCBobl90eF9yaW5nIHsKKwlzdHJ1Y3QgbXR4CWhuX3R4 bGlzdF9zcGluOworCXN0cnVjdCBobl90eGRlc2NfbGlzdCBobl90eGxpc3Q7CisJaW50CQlobl90 eGRlc2NfY250OworCWludAkJaG5fdHhkZXNjX2F2YWlsOworCWludAkJaG5fdHhlb2Y7CisKKwlp bnQJCWhuX3NjaGVkX3R4OworCXN0cnVjdCB0YXNrcXVldWUgKmhuX3R4X3Rhc2txOworCXN0cnVj dCB0YXNrCWhuX3N0YXJ0X3Rhc2s7CisJc3RydWN0IHRhc2sJaG5fdHhlb2ZfdGFzazsKKworCXN0 cnVjdCBtdHgJaG5fdHhfbG9jazsKKwlzdHJ1Y3QgaG5fc29mdGMJKmhuX3NjOworCisJaW50CQlo bl9kaXJlY3RfdHhfc2l6ZTsKKwlpbnQJCWhuX3R4X2NoaW1uZXlfc2l6ZTsKKwlidXNfZG1hX3Rh Z190CWhuX3R4X2RhdGFfZHRhZzsKKwl1aW50NjRfdAlobl9jc3VtX2Fzc2lzdDsKKworCXVfbG9u ZwkJaG5fbm9fdHhkZXNjczsKKwl1X2xvbmcJCWhuX3NlbmRfZmFpbGVkOworCXVfbG9uZwkJaG5f dHhkbWFfZmFpbGVkOworCXVfbG9uZwkJaG5fdHhfY29sbGFwc2VkOworCXVfbG9uZwkJaG5fdHhf Y2hpbW5leTsKKworCS8qIFJhcmVseSB1c2VkIHN0dWZmcyAqLworCXN0cnVjdCBobl90eGRlc2Mg KmhuX3R4ZGVzYzsKKwlidXNfZG1hX3RhZ190CWhuX3R4X3JuZGlzX2R0YWc7CisJc3RydWN0IHN5 c2N0bF9vaWQgKmhuX3R4X3N5c2N0bF90cmVlOworfSBfX2FsaWduZWQoQ0FDSEVfTElORV9TSVpF KTsKKwogLyoKICAqIERldmljZS1zcGVjaWZpYyBzb2Z0YyBzdHJ1Y3R1cmUKICAqLwpAQCAtMTAy OCwzMyArMTA2MCwxNCBAQAogCXN0cnVjdCBodl9kZXZpY2UgICpobl9kZXZfb2JqOwogCW5ldHZz Y19kZXYgIAkqbmV0X2RldjsKIAotCXN0cnVjdCBobl90eGRlc2MgKmhuX3R4ZGVzYzsKLQlidXNf ZG1hX3RhZ190CWhuX3R4X2RhdGFfZHRhZzsKLQlidXNfZG1hX3RhZ190CWhuX3R4X3JuZGlzX2R0 YWc7Ci0JaW50CQlobl90eF9jaGltbmV5X3NpemU7Ci0JaW50CQlobl90eF9jaGltbmV5X21heDsK LQl1aW50NjRfdAlobl9jc3VtX2Fzc2lzdDsKLQotCXN0cnVjdCBtdHgJaG5fdHhsaXN0X3NwaW47 Ci0Jc3RydWN0IGhuX3R4ZGVzY19saXN0IGhuX3R4bGlzdDsKLQlpbnQJCWhuX3R4ZGVzY19jbnQ7 Ci0JaW50CQlobl90eGRlc2NfYXZhaWw7Ci0JaW50CQlobl90eGVvZjsKLQotCWludAkJaG5fc2No ZWRfdHg7Ci0JaW50CQlobl9kaXJlY3RfdHhfc2l6ZTsKLQlzdHJ1Y3QgdGFza3F1ZXVlICpobl90 eF90YXNrcTsKLQlzdHJ1Y3QgdGFzawlobl9zdGFydF90YXNrOwotCXN0cnVjdCB0YXNrCWhuX3R4 ZW9mX3Rhc2s7Ci0KIAlpbnQJCWhuX3J4X3JpbmdfY250OwogCXN0cnVjdCBobl9yeF9yaW5nICpo bl9yeF9yaW5nOwogCi0JdV9sb25nCQlobl9ub190eGRlc2NzOwotCXVfbG9uZwkJaG5fc2VuZF9m YWlsZWQ7Ci0JdV9sb25nCQlobl90eGRtYV9mYWlsZWQ7Ci0JdV9sb25nCQlobl90eF9jb2xsYXBz ZWQ7Ci0JdV9sb25nCQlobl90eF9jaGltbmV5OworCWludAkJaG5fdHhfcmluZ19jbnQ7CisJc3Ry dWN0IGhuX3R4X3JpbmcgKmhuX3R4X3Jpbmc7CisJaW50CQlobl90eF9jaGltbmV5X21heDsKKwlz dHJ1Y3QgdGFza3F1ZXVlICpobl90eF90YXNrcTsKKwlzdHJ1Y3Qgc3lzY3RsX29pZCAqaG5fdHhf c3lzY3RsX3RyZWU7CiB9IGhuX3NvZnRjX3Q7CiAKIC8qCgo= --b1_5fe3909765837cc3654563d26e6c1901-- From owner-freebsd-virtualization@freebsd.org Thu Feb 18 18:16:31 2016 Return-Path: Delivered-To: freebsd-virtualization@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 A740FAAC970 for ; Thu, 18 Feb 2016 18:16:31 +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 90DCA92E for ; Thu, 18 Feb 2016 18:16:31 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 8D59A3321A06; Thu, 18 Feb 2016 18:16:31 +0000 (UTC) Date: Thu, 18 Feb 2016 18:16:31 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Accepted] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU Message-ID: <164dc01f6a49416a6f929f1176f816e9@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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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 In-Reply-To: References: Thread-Index: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2IFbGCn8= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 18:16:31 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5316 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Thu Feb 18 18:16:44 2016 Return-Path: Delivered-To: freebsd-virtualization@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 C9212AAC9A5 for ; Thu, 18 Feb 2016 18:16:44 +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 B6B5AA2D for ; Thu, 18 Feb 2016 18:16:44 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id AF2EB3321AD2; Thu, 18 Feb 2016 18:16:44 +0000 (UTC) Date: Thu, 18 Feb 2016 18:16:44 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5317+333+5b1cf4232f341bc2@reviews.freebsd.org Subject: [Differential] [Accepted] D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) 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: D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) 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 In-Reply-To: References: Thread-Index: YzJmMDY1MGU4OTBiM2Y1YjNhNTNmODY2MWVjIFbGCow= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 18:16:44 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5317 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Thu Feb 18 18:16:56 2016 Return-Path: Delivered-To: freebsd-virtualization@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 CF4EEAACA0A for ; Thu, 18 Feb 2016 18:16:56 +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 B710DB20 for ; Thu, 18 Feb 2016 18:16:56 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id B495B3321BAD; Thu, 18 Feb 2016 18:16:56 +0000 (UTC) Date: Thu, 18 Feb 2016 18:16:56 +0000 To: freebsd-virtualization@freebsd.org From: "adrian (Adrian Chadd)" Reply-to: D5318+333+cc59c7c8f9506d5a@reviews.freebsd.org Subject: [Differential] [Accepted] D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed Message-ID: <72246d2be3a9a8552a28ac8a19b4e1fe@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: D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed 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 In-Reply-To: References: Thread-Index: YTIzNmI4MjNlNGRmYjFlZDMyOTIyMTE1NThiIFbGCpg= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Feb 2016 18:16:56 -0000 adrian accepted this revision. This revision has a positive review. REVISION DETAIL https://reviews.freebsd.org/D5318 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list From owner-freebsd-virtualization@freebsd.org Fri Feb 19 01:42:32 2016 Return-Path: Delivered-To: freebsd-virtualization@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 73848AADED2 for ; Fri, 19 Feb 2016 01:42:32 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6439587F for ; Fri, 19 Feb 2016 01:42:32 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id u1J1gVRH044827 for ; Fri, 19 Feb 2016 01:42:32 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-virtualization@FreeBSD.org Subject: [Bug 207297] [Hyper-V]FreeBSD 10.2 on hyperv lost network under heavy load for OACTIVE Date: Fri, 19 Feb 2016 01:42:32 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.2-RELEASE X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: linimon@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-virtualization@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to keywords Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2016 01:42:32 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207297 Mark Linimon changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|freebsd-bugs@FreeBSD.org |freebsd-virtualization@Free | |BSD.org Keywords| |patch --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-virtualization@freebsd.org Fri Feb 19 05:03:46 2016 Return-Path: Delivered-To: freebsd-virtualization@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 43EBEAAD861 for ; Fri, 19 Feb 2016 05:03:46 +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 2E1C51E46 for ; Fri, 19 Feb 2016 05:03:46 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 2BA293321E1C; Fri, 19 Feb 2016 05:03:46 +0000 (UTC) Date: Fri, 19 Feb 2016 05:03:46 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5316+333+ab185db506e6eda9@reviews.freebsd.org Subject: [Differential] [Closed] D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU Message-ID: <6b9be52831ecbbce20fd6e4cec3b838c@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: D5316: hyperv/hn: Add option to bind TX taskqueues to the specified CPU 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 In-Reply-To: References: Thread-Index: OTQ1NDdkYWNjNjEyZTViMjU4NDE4NzRjMDA2IFbGojI= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_6b9be52831ecbbce20fd6e4cec3b838c" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2016 05:03:46 -0000 --b1_6b9be52831ecbbce20fd6e4cec3b838c Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295792: hyperv/hn: Add option to bind TX taskqueues to the specified CPU (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5316?vs=13407&id=13480#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5316?vs=13407&id=13480 REVISION DETAIL https://reviews.freebsd.org/D5316 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -269,6 +269,10 @@ SYSCTL_INT(_hw_hn, OID_AUTO, use_txdesc_bufring, CTLFLAG_RD, &hn_use_txdesc_bufring, 0, "Use buf_ring for TX descriptors"); +static int hn_bind_tx_taskq = -1; +SYSCTL_INT(_hw_hn, OID_AUTO, bind_tx_taskq, CTLFLAG_RDTUN, + &hn_bind_tx_taskq, 0, "Bind TX taskqueue to the specified cpu"); + /* * Forward declarations */ @@ -383,8 +387,20 @@ if (hn_tx_taskq == NULL) { sc->hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &sc->hn_tx_taskq); - taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, "%s tx", - device_get_nameunit(dev)); + if (hn_bind_tx_taskq >= 0) { + int cpu = hn_bind_tx_taskq; + cpuset_t cpu_set; + + if (cpu > mp_ncpus - 1) + cpu = mp_ncpus - 1; + CPU_SETOF(cpu, &cpu_set); + taskqueue_start_threads_cpuset(&sc->hn_tx_taskq, 1, + PI_NET, &cpu_set, "%s tx", + device_get_nameunit(dev)); + } else { + taskqueue_start_threads(&sc->hn_tx_taskq, 1, PI_NET, + "%s tx", device_get_nameunit(dev)); + } } else { sc->hn_tx_taskq = hn_tx_taskq; } @@ -2409,7 +2425,18 @@ hn_tx_taskq = taskqueue_create("hn_tx", M_WAITOK, taskqueue_thread_enqueue, &hn_tx_taskq); - taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); + if (hn_bind_tx_taskq >= 0) { + int cpu = hn_bind_tx_taskq; + cpuset_t cpu_set; + + if (cpu > mp_ncpus - 1) + cpu = mp_ncpus - 1; + CPU_SETOF(cpu, &cpu_set); + taskqueue_start_threads_cpuset(&hn_tx_taskq, 1, PI_NET, + &cpu_set, "hn tx"); + } else { + taskqueue_start_threads(&hn_tx_taskq, 1, PI_NET, "hn tx"); + } } SYSINIT(hn_txtq_create, SI_SUB_DRIVERS, SI_ORDER_FIRST, hn_tx_taskq_create, NULL); EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_6b9be52831ecbbce20fd6e4cec3b838c Content-Type: text/x-patch; charset=utf-8; name="D5316.13480.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5316.13480.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTI2OSw2ICsyNjksMTAgQEAKIFNZU0NUTF9JTlQoX2h3X2huLCBPSURfQVVUTywgdXNl X3R4ZGVzY19idWZyaW5nLCBDVExGTEFHX1JELAogICAgICZobl91c2VfdHhkZXNjX2J1ZnJpbmcs IDAsICJVc2UgYnVmX3JpbmcgZm9yIFRYIGRlc2NyaXB0b3JzIik7CiAKK3N0YXRpYyBpbnQgaG5f YmluZF90eF90YXNrcSA9IC0xOworU1lTQ1RMX0lOVChfaHdfaG4sIE9JRF9BVVRPLCBiaW5kX3R4 X3Rhc2txLCBDVExGTEFHX1JEVFVOLAorICAgICZobl9iaW5kX3R4X3Rhc2txLCAwLCAiQmluZCBU WCB0YXNrcXVldWUgdG8gdGhlIHNwZWNpZmllZCBjcHUiKTsKKwogLyoKICAqIEZvcndhcmQgZGVj bGFyYXRpb25zCiAgKi8KQEAgLTM4Myw4ICszODcsMjAgQEAKIAlpZiAoaG5fdHhfdGFza3EgPT0g TlVMTCkgewogCQlzYy0+aG5fdHhfdGFza3EgPSB0YXNrcXVldWVfY3JlYXRlKCJobl90eCIsIE1f V0FJVE9LLAogCQkgICAgdGFza3F1ZXVlX3RocmVhZF9lbnF1ZXVlLCAmc2MtPmhuX3R4X3Rhc2tx KTsKLQkJdGFza3F1ZXVlX3N0YXJ0X3RocmVhZHMoJnNjLT5obl90eF90YXNrcSwgMSwgUElfTkVU LCAiJXMgdHgiLAotCQkgICAgZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsKKwkJaWYgKGhuX2Jp bmRfdHhfdGFza3EgPj0gMCkgeworCQkJaW50IGNwdSA9IGhuX2JpbmRfdHhfdGFza3E7CisJCQlj cHVzZXRfdCBjcHVfc2V0OworCisJCQlpZiAoY3B1ID4gbXBfbmNwdXMgLSAxKQorCQkJCWNwdSA9 IG1wX25jcHVzIC0gMTsKKwkJCUNQVV9TRVRPRihjcHUsICZjcHVfc2V0KTsKKwkJCXRhc2txdWV1 ZV9zdGFydF90aHJlYWRzX2NwdXNldCgmc2MtPmhuX3R4X3Rhc2txLCAxLAorCQkJICAgIFBJX05F VCwgJmNwdV9zZXQsICIlcyB0eCIsCisJCQkgICAgZGV2aWNlX2dldF9uYW1ldW5pdChkZXYpKTsK KwkJfSBlbHNlIHsKKwkJCXRhc2txdWV1ZV9zdGFydF90aHJlYWRzKCZzYy0+aG5fdHhfdGFza3Es IDEsIFBJX05FVCwKKwkJCSAgICAiJXMgdHgiLCBkZXZpY2VfZ2V0X25hbWV1bml0KGRldikpOwor CQl9CiAJfSBlbHNlIHsKIAkJc2MtPmhuX3R4X3Rhc2txID0gaG5fdHhfdGFza3E7CiAJfQpAQCAt MjQwOSw3ICsyNDI1LDE4IEBACiAKIAlobl90eF90YXNrcSA9IHRhc2txdWV1ZV9jcmVhdGUoImhu X3R4IiwgTV9XQUlUT0ssCiAJICAgIHRhc2txdWV1ZV90aHJlYWRfZW5xdWV1ZSwgJmhuX3R4X3Rh c2txKTsKLQl0YXNrcXVldWVfc3RhcnRfdGhyZWFkcygmaG5fdHhfdGFza3EsIDEsIFBJX05FVCwg ImhuIHR4Iik7CisJaWYgKGhuX2JpbmRfdHhfdGFza3EgPj0gMCkgeworCQlpbnQgY3B1ID0gaG5f YmluZF90eF90YXNrcTsKKwkJY3B1c2V0X3QgY3B1X3NldDsKKworCQlpZiAoY3B1ID4gbXBfbmNw dXMgLSAxKQorCQkJY3B1ID0gbXBfbmNwdXMgLSAxOworCQlDUFVfU0VUT0YoY3B1LCAmY3B1X3Nl dCk7CisJCXRhc2txdWV1ZV9zdGFydF90aHJlYWRzX2NwdXNldCgmaG5fdHhfdGFza3EsIDEsIFBJ X05FVCwKKwkJICAgICZjcHVfc2V0LCAiaG4gdHgiKTsKKwl9IGVsc2UgeworCQl0YXNrcXVldWVf c3RhcnRfdGhyZWFkcygmaG5fdHhfdGFza3EsIDEsIFBJX05FVCwgImhuIHR4Iik7CisJfQogfQog U1lTSU5JVChobl90eHRxX2NyZWF0ZSwgU0lfU1VCX0RSSVZFUlMsIFNJX09SREVSX0ZJUlNULAog ICAgIGhuX3R4X3Rhc2txX2NyZWF0ZSwgTlVMTCk7Cgo= --b1_6b9be52831ecbbce20fd6e4cec3b838c-- From owner-freebsd-virtualization@freebsd.org Fri Feb 19 05:09:04 2016 Return-Path: Delivered-To: freebsd-virtualization@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 014A5AADB21 for ; Fri, 19 Feb 2016 05:09:04 +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 D81A21126 for ; Fri, 19 Feb 2016 05:09:03 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id D62873321027; Fri, 19 Feb 2016 05:09:03 +0000 (UTC) Date: Fri, 19 Feb 2016 05:09:03 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5317+333+5b1cf4232f341bc2@reviews.freebsd.org Subject: [Differential] [Closed] D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) Message-ID: <42455e0d526c5802e34199952946a779@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: D5317: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) 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 In-Reply-To: References: Thread-Index: YzJmMDY1MGU4OTBiM2Y1YjNhNTNmODY2MWVjIFbGo28= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_42455e0d526c5802e34199952946a779" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2016 05:09:04 -0000 --b1_42455e0d526c5802e34199952946a779 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295793: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5317?vs=13408&id=13481#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5317?vs=13408&id=13481 REVISION DETAIL https://reviews.freebsd.org/D5317 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -176,7 +176,7 @@ * later. UDP checksum offloading doesn't work on earlier * Windows releases. */ -#define HN_CSUM_ASSIST_WIN8 (CSUM_TCP) +#define HN_CSUM_ASSIST_WIN8 (CSUM_IP | CSUM_TCP) #define HN_CSUM_ASSIST (CSUM_IP | CSUM_UDP | CSUM_TCP) #define HN_LRO_LENLIM_DEF (25 * ETHERMTU) EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_42455e0d526c5802e34199952946a779 Content-Type: text/x-patch; charset=utf-8; name="D5317.13481.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5317.13481.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTE3Niw3ICsxNzYsNyBAQAogICogbGF0ZXIuICBVRFAgY2hlY2tzdW0gb2ZmbG9hZGlu ZyBkb2Vzbid0IHdvcmsgb24gZWFybGllcgogICogV2luZG93cyByZWxlYXNlcy4KICAqLwotI2Rl ZmluZSBITl9DU1VNX0FTU0lTVF9XSU44CShDU1VNX1RDUCkKKyNkZWZpbmUgSE5fQ1NVTV9BU1NJ U1RfV0lOOAkoQ1NVTV9JUCB8IENTVU1fVENQKQogI2RlZmluZSBITl9DU1VNX0FTU0lTVAkJKENT VU1fSVAgfCBDU1VNX1VEUCB8IENTVU1fVENQKQogCiAjZGVmaW5lIEhOX0xST19MRU5MSU1fREVG CQkoMjUgKiBFVEhFUk1UVSkKCg== --b1_42455e0d526c5802e34199952946a779-- From owner-freebsd-virtualization@freebsd.org Fri Feb 19 05:14:26 2016 Return-Path: Delivered-To: freebsd-virtualization@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 DC2C4AADF45 for ; Fri, 19 Feb 2016 05:14:25 +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 A76481949 for ; Fri, 19 Feb 2016 05:14:25 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id A042533212E8; Fri, 19 Feb 2016 05:14:25 +0000 (UTC) Date: Fri, 19 Feb 2016 05:14:25 +0000 To: freebsd-virtualization@freebsd.org From: Phabricator Reply-to: D5318+333+cc59c7c8f9506d5a@reviews.freebsd.org Subject: [Differential] [Closed] D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed Message-ID: <06e9a3a7676def950d9762d037b450cb@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: D5318: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed 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 In-Reply-To: References: Thread-Index: YTIzNmI4MjNlNGRmYjFlZDMyOTIyMTE1NThiIFbGpLE= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_06e9a3a7676def950d9762d037b450cb" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2016 05:14:26 -0000 --b1_06e9a3a7676def950d9762d037b450cb Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295794: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5318?vs=13409&id=13482#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5318?vs=13409&id=13482 REVISION DETAIL https://reviews.freebsd.org/D5318 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c CHANGE DETAILS diff --git a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c --- a/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c +++ b/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c @@ -2276,6 +2276,11 @@ bus_dma_tag_destroy(txr->hn_tx_data_dtag); if (txr->hn_tx_rndis_dtag != NULL) bus_dma_tag_destroy(txr->hn_tx_rndis_dtag); + +#ifdef HN_USE_TXDESC_BUFRING + buf_ring_free(txr->hn_txdesc_br, M_NETVSC); +#endif + free(txr->hn_txdesc, M_NETVSC); txr->hn_txdesc = NULL; EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, adrian, network Cc: freebsd-virtualization-list, freebsd-net-list --b1_06e9a3a7676def950d9762d037b450cb Content-Type: text/x-patch; charset=utf-8; name="D5318.13482.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5318.13482.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTIyNzYsNiArMjI3NiwxMSBAQAogCQlidXNfZG1hX3RhZ19kZXN0cm95KHR4ci0+aG5f dHhfZGF0YV9kdGFnKTsKIAlpZiAodHhyLT5obl90eF9ybmRpc19kdGFnICE9IE5VTEwpCiAJCWJ1 c19kbWFfdGFnX2Rlc3Ryb3kodHhyLT5obl90eF9ybmRpc19kdGFnKTsKKworI2lmZGVmIEhOX1VT RV9UWERFU0NfQlVGUklORworCWJ1Zl9yaW5nX2ZyZWUodHhyLT5obl90eGRlc2NfYnIsIE1fTkVU VlNDKTsKKyNlbmRpZgorCiAJZnJlZSh0eHItPmhuX3R4ZGVzYywgTV9ORVRWU0MpOwogCXR4ci0+ aG5fdHhkZXNjID0gTlVMTDsKIAoK --b1_06e9a3a7676def950d9762d037b450cb-- From owner-freebsd-virtualization@freebsd.org Sat Feb 20 08:49:30 2016 Return-Path: Delivered-To: freebsd-virtualization@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 0A5B2AAFDEB for ; Sat, 20 Feb 2016 08:49:30 +0000 (UTC) (envelope-from abhijit.taware@coriolis.co.in) Received: from mail-ob0-x236.google.com (mail-ob0-x236.google.com [IPv6:2607:f8b0:4003:c01::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CBD7B158A for ; Sat, 20 Feb 2016 08:49:29 +0000 (UTC) (envelope-from abhijit.taware@coriolis.co.in) Received: by mail-ob0-x236.google.com with SMTP id ts10so12708187obc.1 for ; Sat, 20 Feb 2016 00:49:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=coriolis-co-in.20150623.gappssmtp.com; s=20150623; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=jvtffaBDUzdkkBgOV0SeqJ4+RTBQTVO4DH9Qen+RJUY=; b=Kx0bhaVtwp9QwZrf6SkV4/+g6xS9AxVF9NxrqRuQ+aUbjb55k08PMkP3CxMqV2bZcF LQ+24Nk2As6Wv5RN9ivx9x59BnYrx12dCf6P+Fa9mmO8H9+OgkFVACp5hvJo4dhGYQ8r epaAWHT6vv1u4YJodhaRaETgltZ1KH1NOM0zsZUmZSSaJN2BmAVM7GnPrqKBcySQebLd kCegMkvXma9XATLjZQPTPawIl9j10uG/0dQNXQUWWtaXsRkT4IjchAVAthjCpPbfxdjz g5eEhByOcf030q901JZCNQg87ntTCZne9sdvwvqjJKi/mJP5ZYoRdQv3UIyN0UYhp0yo iglA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to:cc :content-type; bh=jvtffaBDUzdkkBgOV0SeqJ4+RTBQTVO4DH9Qen+RJUY=; b=ISFHRIl766o5v4Z8qoc9XSJAwVkgz2seIy2RZAMpXE3vIT3n2h+uRe0QQfE1TWw8Tz Nr2vLonu6vq7drkgmVhrV+V1HMAzV2zNuhYxrz/mfLl/ZT4mhv7ZidpJ7FnWn0SdLqII i5Ieqel6OYCsrfVbqNfzzXrF3rbZ3JXM99UIq3x00HOUtycR/vq3BE8JCk8CrM57FEhE 2UpPjMQU5x3FqT6eqJnCvwqlvaWaseYcNT90X/Zu5XJr6xk8j91ZCWmgoTTXno3KDbtT wU1S3QaGl0r62WOhTo1pQTaFo7w3EhT2fnDWNodjytWykJvGyIuDPaCEEYKsne9NWCGO v9ZA== X-Gm-Message-State: AG10YOSlYyQXc5wChX945p03Qhduk0vTXsruNaJ+fdYr35TIVpLqT3HR470kP1GHeD6SGL7NdJmu3r3otyx26w== MIME-Version: 1.0 X-Received: by 10.182.213.7 with SMTP id no7mr14916195obc.22.1455958168250; Sat, 20 Feb 2016 00:49:28 -0800 (PST) Received: by 10.60.128.197 with HTTP; Sat, 20 Feb 2016 00:49:28 -0800 (PST) Date: Sat, 20 Feb 2016 14:19:28 +0530 Message-ID: Subject: [BHyVE] bhyverun.c:818:16: error: use of undeclared identifier 'VM_MEM_F_WIRED From: Abhijit Taware To: freebsd-virtualization@freebsd.org Cc: Marcel Moolenaar , Marcel Moolenaar Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 08:49:30 -0000 Hi , I am getting error mentioned in subject while compiling the bhyve repo mentioned below https://github.com/xcllnt/libvdsk I am using 10.2-RELEASE and could run the native bhyve which comes with "pkg install" command. I am using the repo mentioned above to add support for more file formats i.e. qcow, vmdk etc Currently only RAW is supported and works well on my VM. Can somebody point me to right direction .The detailed error log is as follows - Thanks, Abhijit. *root@bhyve:~/bhyve/libvdsk # make* *===> libvdsk (all)* *Warning: Object directory not changed from original /root/bhyve/libvdsk/libvdsk* *===> bhyve (all)* *Warning: Object directory not changed from original /root/bhyve/libvdsk/bhyve* *cc -O2 -pipe -I/root/bhyve/libvdsk/bhyve/../libvdsk -g -O0 -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -c bhyverun.c -o bhyverun.o* *bhyverun.c:818:16: error: use of undeclared identifier 'VM_MEM_F_WIRED'* * memflags |= VM_MEM_F_WIRED;* * ^* *1 error generated.* **** Error code 1* *Stop.* *make[1]: stopped in /root/bhyve/libvdsk/bhyve* **** Error code 1* *Stop.* *make: stopped in /root/bhyve/libvdsk* From owner-freebsd-virtualization@freebsd.org Sat Feb 20 16:30:11 2016 Return-Path: Delivered-To: freebsd-virtualization@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 DBA79AAFAF0 for ; Sat, 20 Feb 2016 16:30:11 +0000 (UTC) (envelope-from tinkr@openmailbox.org) Received: from smtp7.openmailbox.org (smtp7.openmailbox.org [62.4.1.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9D1BB11ED for ; Sat, 20 Feb 2016 16:30:11 +0000 (UTC) (envelope-from tinkr@openmailbox.org) Received: by mail2.openmailbox.org (Postfix, from userid 1004) id D21EF2AC2571; Sat, 20 Feb 2016 17:13:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1455984831; bh=qpk7SZJT7kHfUoZz2EYVKWWuz3lrIHvyPyM2Qg+/sG8=; h=Date:From:To:Subject:From; b=ll0bN8F2uZgIZ/EMS4LHbmuShvNC5HQGS8lvtaCx/Hs7ZbXk6gdMo42l3WYIxoHOI VpRtRYmcLToKE91gNvvSUpWuQFDBTXuq56064ovmpyPabIwF3itFqZ3Xv/tCR1P5Cn RgGoWeag+QODVCWNvkWVEaZcw2JJrY7qCitCYMg8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on openmailbox-b2 X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=ALL_TRUSTED,BAYES_50, DKIM_ADSP_ALL autolearn=no autolearn_force=no version=3.4.0 Received: from www.openmailbox.org (openmailbox-b2 [10.91.69.220]) by mail2.openmailbox.org (Postfix) with ESMTP id ADA0D2AC2552 for ; Sat, 20 Feb 2016 17:13:51 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Sat, 20 Feb 2016 23:13:51 +0700 From: Tinker To: freebsd-virtualization@freebsd.org Subject: What overhead should BHyVe incur vs. guest directly on bare metal, for memory mapped and non-memory-mapped IO to block device within the =?UTF-8?Q?guest=3F?= Message-ID: X-Sender: tinkr@openmailbox.org User-Agent: Roundcube Webmail/1.0.6 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 16:30:11 -0000 Just to get your rough approximation. OpenBSD guest. E5 Xeon CPU. SSD:s with 4 or 16KB physical sector size. In the virtualized case, the guest accesses the physical storage via a virtio block device, and the host keeps the image within a ZFS (so it gets ZFS' checksumming) and From owner-freebsd-virtualization@freebsd.org Sat Feb 20 16:35:50 2016 Return-Path: Delivered-To: freebsd-virtualization@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 C3DF3AAFD9E for ; Sat, 20 Feb 2016 16:35:50 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2ECC15DB; Sat, 20 Feb 2016 16:35:50 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from [192.168.2.22] (atc.xcllnt.net [50.0.150.213]) (authenticated bits=0) by mail.xcllnt.net (8.15.2/8.15.2) with ESMTPSA id u1KGUJPf048397 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 20 Feb 2016 08:30:20 -0800 (PST) (envelope-from marcel@xcllnt.net) Subject: Re: [BHyVE] bhyverun.c:818:16: error: use of undeclared identifier 'VM_MEM_F_WIRED Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_DE65D529-3D97-43E7-9357-C07CEE7D06AE"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Marcel Moolenaar In-Reply-To: Date: Sat, 20 Feb 2016 08:30:19 -0800 Cc: freebsd-virtualization@freebsd.org, Marcel Moolenaar Message-Id: References: To: Abhijit Taware X-Mailer: Apple Mail (2.3112) X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 16:35:51 -0000 --Apple-Mail=_DE65D529-3D97-43E7-9357-C07CEE7D06AE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Feb 20, 2016, at 12:49 AM, Abhijit Taware = wrote: >=20 > Hi , >=20 > I am getting error mentioned in subject while compiling the bhyve repo = mentioned below > https://github.com/xcllnt/libvdsk It=E2=80=99s probably best to compile on FreeBSD-current. HTH, -- Marcel Moolenaar marcel@xcllnt.net --Apple-Mail=_DE65D529-3D97-43E7-9357-C07CEE7D06AE Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWyJSbAAoJEIda8t8f0tjjGyoP+QEj979TFaqyJ8xRfoEvg9jU F8HNQmLeBbEZIIBm4EU+WCa+h8DIa0jDYROS9/ImF840rIrbE63VOMFjeCOugCxx Zj0IwwcVqXi/1p2ZyxfV6Utgt3ML+HfQgDS0ooxEUOfpvmzAWkYGAQHvQFoXdMQn NlUGExxjgPLFLz9vPdjc0h5lvFYTX79BNgau5IrElIyO7RBX3X5CUTFUvbRtkEyv gsGCYJZ6rXmcmNjgjGuVGYQUSE9xPCopt6sqaQPFXVL1+ClPi3vyg4XuG6ri7O/u xTV1/QPT0Vr5k/YDkFjG0Ds+iuR8HtR6Hb3wT3B6HwaHMMAhLceL7F4gZs2TYyU/ 6rJTaFdLLoN0qJ6MKHwHih8Lh0VDOL7uDlwO9EcAaJqYLgeO8CQkOMN6GEK3OwNR gY8lr+WwkT73RrF6Sl97PUJ4hnkdgb1/dR8RVLQOTS0SXFNLpypBmzXhrFjDyRlF lLaQPTvHW6BBgYbxBQWv8Pamy8DyAVbsZmQUb97mWtv5lyaY5u9nOW6ji442tIGZ OR3AsDVK0tDHYfWUmqnYnPHHslsXtgNo10qUrCDVYGzN0PVRyYNCYkIzlr51rj67 36n08wDixU0b9dAh5kG2n1TjLSct+0IC3C+Z+ab8zELQTDuwIgFeUKvHIbCeUUPP tK8DMZH0a6xxvZ+g9BUV =wmRF -----END PGP SIGNATURE----- --Apple-Mail=_DE65D529-3D97-43E7-9357-C07CEE7D06AE-- From owner-freebsd-virtualization@freebsd.org Sat Feb 20 19:38:24 2016 Return-Path: Delivered-To: freebsd-virtualization@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 639D7AAE2E8 for ; Sat, 20 Feb 2016 19:38:24 +0000 (UTC) (envelope-from abhijit.taware@coriolis.co.in) Received: from mail-oi0-x236.google.com (mail-oi0-x236.google.com [IPv6:2607:f8b0:4003:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 32B3FD01 for ; Sat, 20 Feb 2016 19:38:23 +0000 (UTC) (envelope-from abhijit.taware@coriolis.co.in) Received: by mail-oi0-x236.google.com with SMTP id m82so32892130oif.1 for ; Sat, 20 Feb 2016 11:38:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=coriolis-co-in.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Pa5hkwl2AHu1roplZ64wnJi79P0IpAjinTjQDjLoHYQ=; b=QOhCTBIETrwgG2bT3WTZIWqlbVulk6IaJez2LJM6Aalw/K89AtPZGdsS0RkySsgYMa WJJEmcvPXL+Aa6an/X/rLg0AAQOik1rswxNKvE0p4b1CCN6ndgdvnw5egAUcFjyC5y6I uiUNs4XpWaeDJnmoDAx57ljG5hchKbZaJvm31x+tdZjStckBp4e36GNrOZzlnSJXIsvl Tls0H29PO5tou3U35Fob1oJ1hSDu+YUJYbVmUU+Rrb5yOkWnZMe4aRbS7QaqA6QAR+Jh wnF5T/X/TQUzpim2PnXsRtP7OLxqxNdCixxFCgMSlzd2//RgRs5fQLLt/4Bq5s+Zw5vi nTDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Pa5hkwl2AHu1roplZ64wnJi79P0IpAjinTjQDjLoHYQ=; b=VzOIhxKXdjE+NTJpM0P2wUjXdDNNifv87NBbvePxXCMbwQz6QKgZxaTmUTz5YI6g7e nh5MZEXE3J2rWt05hyIFtVfJhFLpFA1V8bXLJqFomltNsw3OOlghnxC6pmOcQuyrLPOM Mg/sV9tWG/J/PYZ4pQdo1J+awi87Z5VEa15pDCsOyfAjkxqaKxFSEYzOjJL6rEDBRoXQ A79IlKX7sxaGYdi3G94NlHU7E60A32RSskJYq9/B1loCj7HP2/QNnqGkVbM7TZ0g6maS 36Bn447sWuUm5+Rq/dU5TJVJhegSeAML9cryI3WFKRIcWtoH5UFfeRkqjOKNtXXbIcmr eYWg== X-Gm-Message-State: AG10YOTNB98eebk64Ej9jySIcHcO4Hn0IG/YBT7qmoLWCwHROJzE2kGvyjkWMdFdTkCgRj21x4yxN3YXrpFsTA== MIME-Version: 1.0 X-Received: by 10.202.181.11 with SMTP id e11mr16530293oif.77.1455997102866; Sat, 20 Feb 2016 11:38:22 -0800 (PST) Received: by 10.60.128.197 with HTTP; Sat, 20 Feb 2016 11:38:22 -0800 (PST) In-Reply-To: References: Date: Sun, 21 Feb 2016 01:08:22 +0530 Message-ID: Subject: Re: [BHyVE] bhyverun.c:818:16: error: use of undeclared identifier 'VM_MEM_F_WIRED From: Abhijit Taware To: Marcel Moolenaar Cc: freebsd-virtualization@freebsd.org, Marcel Moolenaar Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 19:38:24 -0000 It compiles cleanly on FreeBSD-Current I was also able to run one VM with compiled binaries. The Makefile don't have install target, so I have to copy it manually and it worked. Thanks a lot for quick help Marcel. Abhijit. On Sat, Feb 20, 2016 at 10:00 PM, Marcel Moolenaar wrote: > > On Feb 20, 2016, at 12:49 AM, Abhijit Taware < > abhijit.taware@coriolis.co.in> wrote: > > Hi , > > I am getting error mentioned in subject while compiling the bhyve repo > mentioned below > https://github.com/xcllnt/libvdsk > > > It=E2=80=99s probably best to compile on FreeBSD-current. > HTH, > > -- > Marcel Moolenaar > marcel@xcllnt.net > > > > From owner-freebsd-virtualization@freebsd.org Sat Feb 20 19:57:37 2016 Return-Path: Delivered-To: freebsd-virtualization@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 7EAFFAAEDBC; Sat, 20 Feb 2016 19:57:37 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: from mail-vk0-x22e.google.com (mail-vk0-x22e.google.com [IPv6:2607:f8b0:400c:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 39410160B; Sat, 20 Feb 2016 19:57:37 +0000 (UTC) (envelope-from ultima1252@gmail.com) Received: by mail-vk0-x22e.google.com with SMTP id k196so102077395vka.0; Sat, 20 Feb 2016 11:57:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=2Z9JxVpdJh+332GZx+OuFz0ZFwFyWmg2E5rlnVa6YNA=; b=mXg0/8hDQ6D3i/MUMRKqUcZEXpk2rhcXM+X+7CdiFubmKT0uvLMJa/Tb6MtIVwglk/ fMI57trkYKUxeSzavNOy5Axsb1igXhHzjMmG7+HMyvOO19sGWufjVY4NT9L0GB2a7wnw d45XE9+omoYYsfEtRK4Tb1dlRL8G6ORVKV3s0xu+JPsplGtSxnO0Ux561TqMgS8UEe3p 9+cXVJMzv0twnahhBzqNvcUa8VRAdW/WfdEIJsOOR+czvLWYAP3faXhvXY80WkKeI4lt ywphkeXJedDOVssvSFrnHwr3v+/OJXyp2MgPyTnCh4qtC+5Da88TuFJBe0GA5Yel+Xu8 8X8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=2Z9JxVpdJh+332GZx+OuFz0ZFwFyWmg2E5rlnVa6YNA=; b=S87WVEHkrOkAZBWdvkSqh+TJrZ9W3oNBeL5pt+kjhlAlG93KynrJektMIu4FSSyWN5 p66VUYtY+mFtTfZZq5URH/LyO71Uup+zuCz8Bugqzk98GzLCY2dY/qLdx3RMwNerQK5O NgeqQ2rXGwCc7atoNK5OMiBRoGzTFwbEEnO1aCE/uEb/+9lKCs1rysKrH15ptg2DOr6k MU6sIBwDOHE/Pb6L5LoR3TyoArTw9UohqqgbdiKJJ0c2tyJH2ngUMwMUxgOBw/AaJra5 M35tNLoiGn6UzQgc75q5S7EmNK86vEZVtGDNqXx+458ulskrk51YD1QZWlx+0egbHINI kaVQ== X-Gm-Message-State: AG10YOQeJadlO4DctM1CshgWsz4E4pBKaRyLx9iO54xtqMJ0NGOzZbu26djYPqguyh2Aw5HnH0XcpwxTn8LVQg== MIME-Version: 1.0 X-Received: by 10.31.34.67 with SMTP id i64mr7873202vki.140.1455998256155; Sat, 20 Feb 2016 11:57:36 -0800 (PST) Received: by 10.31.194.194 with HTTP; Sat, 20 Feb 2016 11:57:36 -0800 (PST) Date: Sat, 20 Feb 2016 14:57:36 -0500 Message-ID: Subject: sr-iov issues, reset_hw() failed with error -100 From: Ultima To: freebsd-current@freebsd.org, freebsd-virtualization@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 19:57:37 -0000 Decided to do some testing with iovctl to see how sr-iov is coming along. Currently when adding the vf's there are a couple errors, and the network no longer function after iovctl is started. My guess is the reset_hw() call that is failing. Any ideas why this call would fail? I tested this on both ports, ix1 is detached and unused for this test, however inserting a cable results in an unusable port. iovctl -Dd ix1 removes the vf's, however functionality is still not restored without a system restart. FreeBSD S1 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295736: Wed Feb 17 21:17:28 EST 2016 root@S1:/usr/obj/usr/src/sys/MYKERNEL amd64 /boot/loader.conf hw.ix.num_queues="4" /etc/iovctl.conf PF { device : ix1; num_vfs : 31; } DEFAULT { passthrough : true; } VF-0 { passthrough : false; } VF-1 { passthrough : false; } # iovctl -C -f /etc/iovctl.conf dmesg ixv0: at device 0.129 on pci12 ixv0: Using MSIX interrupts with 2 vectors ixv0: ixgbe_reset_hw() failed with error -100 device_attach: ixv0 attach returned 5 ixv0: at device 0.131 on pci12 ixv0: Using MSIX interrupts with 2 vectors ixv0: ixgbe_reset_hw() failed with error -100 device_attach: ixv0 attach returned 5 pci12: at device 0.133 (no driver attached) pci12: at device 0.135 (no driver attached) pci12: at device 0.137 (no driver attached) pci12: at device 0.139 (no driver attached) pci12: at device 0.141 (no driver attached) pci12: at device 0.143 (no driver attached) pci12: at device 0.145 (no driver attached) pci12: at device 0.147 (no driver attached) pci12: at device 0.149 (no driver attached) pci12: at device 0.151 (no driver attached) pci12: at device 0.153 (no driver attached) pci12: at device 0.155 (no driver attached) pci12: at device 0.157 (no driver attached) pci12: at device 0.159 (no driver attached) pci12: at device 0.161 (no driver attached) pci12: at device 0.163 (no driver attached) pci12: at device 0.165 (no driver attached) pci12: at device 0.167 (no driver attached) pci12: at device 0.169 (no driver attached) pci12: at device 0.171 (no driver attached) pci12: at device 0.173 (no driver attached) pci12: at device 0.175 (no driver attached) pci12: at device 0.177 (no driver attached) pci12: at device 0.179 (no driver attached) pci12: at device 0.181 (no driver attached) pci12: at device 0.183 (no driver attached) pci12: at device 0.185 (no driver attached) pci12: at device 0.187 (no driver attached) pci12: at device 0.189 (no driver attached) pciconf -lv ix1@pci0:129:0:1: class=0x020000 card=0x00001458 chip=0x15288086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'Ethernet Controller 10-Gigabit X540-AT2' class = network subclass = ethernet none155@pci0:129:0:129: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet none156@pci0:129:0:131: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt0@pci0:129:0:133: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt1@pci0:129:0:135: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt2@pci0:129:0:137: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt3@pci0:129:0:139: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt4@pci0:129:0:141: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt5@pci0:129:0:143: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt6@pci0:129:0:145: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt7@pci0:129:0:147: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt8@pci0:129:0:149: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt9@pci0:129:0:151: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt10@pci0:129:0:153: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt11@pci0:129:0:155: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt12@pci0:129:0:157: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt13@pci0:129:0:159: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt14@pci0:129:0:161: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt15@pci0:129:0:163: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt16@pci0:129:0:165: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt17@pci0:129:0:167: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt18@pci0:129:0:169: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt19@pci0:129:0:171: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt20@pci0:129:0:173: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt21@pci0:129:0:175: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt22@pci0:129:0:177: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt23@pci0:129:0:179: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt24@pci0:129:0:181: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt25@pci0:129:0:183: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt26@pci0:129:0:185: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt27@pci0:129:0:187: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet ppt28@pci0:129:0:189: class=0x020000 card=0x00001458 chip=0x15158086 rev=0x01 hdr=0x00 vendor = 'Intel Corporation' device = 'X540 Ethernet Controller Virtual Function' class = network subclass = ethernet Ultima From owner-freebsd-virtualization@freebsd.org Sat Feb 20 20:13:51 2016 Return-Path: Delivered-To: freebsd-virtualization@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 3A7E4AAF68B for ; Sat, 20 Feb 2016 20:13:51 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17F0310A5; Sat, 20 Feb 2016 20:13:50 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from [192.168.2.22] (atc.xcllnt.net [50.0.150.213]) (authenticated bits=0) by mail.xcllnt.net (8.15.2/8.15.2) with ESMTPSA id u1KKDmbi049462 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 20 Feb 2016 12:13:48 -0800 (PST) (envelope-from marcel@xcllnt.net) Subject: Re: [BHyVE] bhyverun.c:818:16: error: use of undeclared identifier 'VM_MEM_F_WIRED Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Content-Type: multipart/signed; boundary="Apple-Mail=_51B85BBF-5531-48D6-82E0-56CBB48013F4"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: Marcel Moolenaar In-Reply-To: Date: Sat, 20 Feb 2016 12:13:47 -0800 Cc: freebsd-virtualization@freebsd.org, Marcel Moolenaar Message-Id: <12EAAB8B-8B0E-4E9F-B49B-39177E2B5F7F@xcllnt.net> References: To: Abhijit Taware X-Mailer: Apple Mail (2.3112) X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Feb 2016 20:13:51 -0000 --Apple-Mail=_51B85BBF-5531-48D6-82E0-56CBB48013F4 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Feb 20, 2016, at 11:38 AM, Abhijit Taware = wrote: >=20 > It compiles cleanly on FreeBSD-Current > I was also able to run one VM with compiled binaries. > The Makefile don't have install target, so I have to copy it manually = and it worked. The install target is in bsd.prog.mk or bd.lib.mk, so you should be able = to run =E2=80=9Cmake install=E2=80=9D as root and things should get = installed. > Thanks a lot for quick help Marcel. No problem. Have fun hacking :-) -- Marcel Moolenaar marcel@xcllnt.net --Apple-Mail=_51B85BBF-5531-48D6-82E0-56CBB48013F4 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWyMj8AAoJEIda8t8f0tjjcbkP/i4scW5VKuJoq8c+kBJlsyxQ ijMQznK1Mn0FXX/2RjjhUuS28PaYjT2tpc6JO7ym2sUO+Frv1pQVHuppjHIKjRjn g4zSQBVXitCRvewDw8LiHoxhWPOG9OSRCA69Fv9IchcaeEfUA7E6sONCo1W/IGS/ KXD1HqTICo6bWsyEkj1wQZdULiucn0rn7QW5Y3DGRTQBm+qfpBsVAs8BRUS74g0G 7FkPTd+R934ZLXQfHSk4on+EroTdaDhIiOtMbOycLFzkvOT4N+QiOdcWRy1sADIR cC7uLMqP9a5Z11O6FDUC9FvSn+tVChwb3Hd0+B4ANpyyd1tOxrRg0lDhwQrAcvyf U+4otTUgfMPsoU7ggqxi7n6J+J3M42f3pXg3mQ9ao37nKvT9wrqqsu824VXT1ydW rLZRbonMObrHLshh9Mh26F/vOHPejAImeyJCGpHVWaOluv80/doRx9KSdWjhC9wl ea9BpsaRDWlRdRk1x2y7kafHHf+L/k2SLshsJen5eiyhiRSszLMQKVgX3AYZLlwz tROHEpytHhQzno3FhsIurd9LDl/5JSh1tvsPxDpaEW40hywR3xLryPBjNjzcKqeY pL3xhyU3UhWfPv3ysp2arQupFw3SV+RF3/fdFcJT7c7do2GIhhaeYeKy7Td/yMCp tQUbCf3tuQDDCppZmSTD =fDBT -----END PGP SIGNATURE----- --Apple-Mail=_51B85BBF-5531-48D6-82E0-56CBB48013F4--