From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.hgst.iphmx.com ([216.71.153.141]:12759 "EHLO esa3.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751096AbdEKAX3 (ORCPT ); Wed, 10 May 2017 20:23:29 -0400 From: Bart Van Assche To: "hch@lst.de" CC: "ddiss@suse.de" , "hare@suse.com" , "target-devel@vger.kernel.org" , "agrover@redhat.com" , "nab@linux-iscsi.org" , "stable@vger.kernel.org" Subject: Re: [PATCH 03/19] target: Avoid that aborting a command sporadically hangs Date: Thu, 11 May 2017 00:23:26 +0000 Message-ID: <1494462204.12318.1.camel@sandisk.com> References: <20170504225102.8931-1-bart.vanassche@sandisk.com> <20170504225102.8931-4-bart.vanassche@sandisk.com> <20170505085355.GC4858@lst.de> In-Reply-To: <20170505085355.GC4858@lst.de> Content-Language: en-US Content-Type: multipart/mixed; boundary="_006_1494462204123181camelsandiskcom_" MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: --_006_1494462204123181camelsandiskcom_ Content-Type: text/plain; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable On Fri, 2017-05-05 at 10:53 +0200, Christoph Hellwig wrote: > On Thu, May 04, 2017 at 03:50:46PM -0700, Bart Van Assche wrote: > > For several target drivers (e.g. ib_srpt and ib_isert) sleeping inside > > transport_generic_free_cmd() causes RDMA completion processing to stall= . > > Hence only sleep inside this function if the (iSCSI) target driver > > requires this. >=20 > This looks reasonable to me: >=20 > Reviewed-by: Christoph Hellwig >=20 > But as a further step can we try to move the waiting behavior entirely > into the caller that actually cares, >=20 > e.g. move the conditional target_wait_free_cmd before the call > to transport_generic_free_cmd in transport_generic_free_cmd, > and move this second wait_for_completion after the > transport_generic_free_cmd call based on an indicator (return value > or se_cmd flag)? Hello Christoph, I have started working on eliminating the waiting code from transport_generic_free_cmd(). I'm still working on a patch for the iSCSI target driver. What I came up so far for the loop and Xen scsiback drivers is attached to this e-mail. Bart.= --_006_1494462204123181camelsandiskcom_ Content-Type: text/x-patch; name="0001-xen-scsiback-Replace-a-waitqueue-and-a-counter-by-a-.patch" Content-Description: 0001-xen-scsiback-Replace-a-waitqueue-and-a-counter-by-a-.patch Content-Disposition: attachment; filename="0001-xen-scsiback-Replace-a-waitqueue-and-a-counter-by-a-.patch"; size=1893; creation-date="Thu, 11 May 2017 00:23:25 GMT"; modification-date="Thu, 11 May 2017 00:23:25 GMT" Content-ID: <9775B60E579B444080C199472B4A483E@namprd04.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSA0YTU2ZDBmODhlMDJhMjZhYWNlNjE3NzA5YTM1YjllZTgxODU2ODkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDE1OjQwOjM5IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCAxLzVdIHhlbi9zY3NpYmFjazogUmVwbGFjZSBhIHdhaXRxdWV1ZSBhbmQgYSBjb3VudGVy IGJ5IGEKIGNvbXBsZXRpb24KClNpZ25lZC1vZmYtYnk6IEJhcnQgVmFuIEFzc2NoZSA8YmFydC52 YW5hc3NjaGVAc2FuZGlzay5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KQ2M6IEhhbm5lcyBSZWluZWNrZSA8 aGFyZUBzdXNlLmNvbT4KQ2M6IERhdmlkIERpc3NlbGRvcnAgPGRkaXNzQHN1c2UuZGU+CkNjOiB4 ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKLS0tCiBkcml2ZXJzL3hlbi94ZW4tc2NzaWJh Y2suYyB8IDEwICsrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXNjc2liYWNrLmMgYi9k cml2ZXJzL3hlbi94ZW4tc2NzaWJhY2suYwppbmRleCBkNjk1MGUwODAyYjcuLjVmMWRhZjE2MTMx MiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuLXNjc2liYWNrLmMKKysrIGIvZHJpdmVycy94 ZW4veGVuLXNjc2liYWNrLmMKQEAgLTEzNyw4ICsxMzcsNyBAQCBzdHJ1Y3QgdnNjc2lia19wZW5k IHsKIH07CiAKIHN0cnVjdCBzY3NpYmFja190bXIgewotCWF0b21pY190IHRtcl9jb21wbGV0ZTsK LQl3YWl0X3F1ZXVlX2hlYWRfdCB0bXJfd2FpdDsKKwlzdHJ1Y3QgY29tcGxldGlvbiBkb25lOwog fTsKIAogI2RlZmluZSBWU0NTSV9ERUZBVUxUX1NFU1NJT05fVEFHUwkxMjgKQEAgLTYwOSw3ICs2 MDgsNyBAQCBzdGF0aWMgdm9pZCBzY3NpYmFja19kZXZpY2VfYWN0aW9uKHN0cnVjdCB2c2NzaWJr X3BlbmQgKnBlbmRpbmdfcmVxLAogCQlnb3RvIGVycjsKIAl9CiAKLQlpbml0X3dhaXRxdWV1ZV9o ZWFkKCZ0bXItPnRtcl93YWl0KTsKKwlpbml0X2NvbXBsZXRpb24oJnRtci0+ZG9uZSk7CiAKIAly YyA9IHRhcmdldF9zdWJtaXRfdG1yKCZwZW5kaW5nX3JlcS0+c2VfY21kLCBuZXh1cy0+dHZuX3Nl X3Nlc3MsCiAJCQkgICAgICAgJnBlbmRpbmdfcmVxLT5zZW5zZV9idWZmZXJbMF0sCkBAIC02MTgs NyArNjE3LDcgQEAgc3RhdGljIHZvaWQgc2NzaWJhY2tfZGV2aWNlX2FjdGlvbihzdHJ1Y3QgdnNj c2lia19wZW5kICpwZW5kaW5nX3JlcSwKIAlpZiAocmMpCiAJCWdvdG8gZXJyOwogCi0Jd2FpdF9l dmVudCh0bXItPnRtcl93YWl0LCBhdG9taWNfcmVhZCgmdG1yLT50bXJfY29tcGxldGUpKTsKKwl3 YWl0X2Zvcl9jb21wbGV0aW9uKCZ0bXItPmRvbmUpOwogCiAJZXJyID0gKHNlX2NtZC0+c2VfdG1y X3JlcS0+cmVzcG9uc2UgPT0gVE1SX0ZVTkNUSU9OX0NPTVBMRVRFKSA/CiAJCVNVQ0NFU1MgOiBG QUlMRUQ7CkBAIC0xNDU4LDggKzE0NTcsNyBAQCBzdGF0aWMgdm9pZCBzY3NpYmFja19xdWV1ZV90 bV9yc3Aoc3RydWN0IHNlX2NtZCAqc2VfY21kKQogCXN0cnVjdCBzZV90bXJfcmVxICpzZV90bXIg PSBzZV9jbWQtPnNlX3Rtcl9yZXE7CiAJc3RydWN0IHNjc2liYWNrX3RtciAqdG1yID0gc2VfdG1y LT5mYWJyaWNfdG1yX3B0cjsKIAotCWF0b21pY19zZXQoJnRtci0+dG1yX2NvbXBsZXRlLCAxKTsK LQl3YWtlX3VwKCZ0bXItPnRtcl93YWl0KTsKKwljb21wbGV0ZSgmdG1yLT5kb25lKTsKIH0KIAog c3RhdGljIHZvaWQgc2NzaWJhY2tfYWJvcnRlZF90YXNrKHN0cnVjdCBzZV9jbWQgKnNlX2NtZCkK LS0gCjIuMTIuMgoK --_006_1494462204123181camelsandiskcom_ Content-Type: text/x-patch; name="0002-xen-scsiback-Make-TMF-processing-slightly-faster.patch" Content-Description: 0002-xen-scsiback-Make-TMF-processing-slightly-faster.patch Content-Disposition: attachment; filename="0002-xen-scsiback-Make-TMF-processing-slightly-faster.patch"; size=1529; creation-date="Thu, 11 May 2017 00:23:25 GMT"; modification-date="Thu, 11 May 2017 00:23:25 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAwNDM5NTFhODk5ZjgyNmE5YTIwNzMzY2QxODAwNmRiYjc5NzdlNmI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDE1OjEzOjA0IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCAyLzVdIHhlbi9zY3NpYmFjazogTWFrZSBUTUYgcHJvY2Vzc2luZyBzbGlnaHRseSBmYXN0 ZXIKClRhcmdldCBkcml2ZXJzIG11c3QgZ3VhcmFudGVlIHRoYXQgc3RydWN0IHNlX2NtZCBhbmQg c3RydWN0IHNlX3Rtcl9yZXEKZXhpc3QgYXMgbG9uZyBhcyB0YXJnZXRfdG1yX3dvcmsoKSBpcyBp biBwcm9ncmVzcy4gU2luY2UgdGhlIGxhc3QKYWNjZXNzIGJ5IHRoZSBMSU8gY29yZSBpcyBhIGNh bGwgdG8gLmNoZWNrX3N0b3BfZnJlZSgpIGFuZCBzaW5jZSB0aGUKWGVuIHNjc2liYWNrIC5jaGVj a19zdG9wX2ZyZWUoKSBkcm9wcyBhIHJlZmVyZW5jZSB0byB0aGUgVE1GLCBpdCBpcwphbHJlYWR5 IGd1YXJhbnRlZWQgdGhhdCB0aGUgc3RydWN0IHNlX2NtZCB0aGF0IGNvcnJlc3BvbmRzIHRvIHRo ZSBUTUYKZXhpc3RzIGFzIGxvbmcgYXMgdGFyZ2V0X3Rtcl93b3JrKCkgaXMgaW4gcHJvZ3Jlc3Mu IEhlbmNlIGNoYW5nZSB0aGUKc2Vjb25kIGFyZ3VtZW50IG9mIHRyYW5zcG9ydF9nZW5lcmljX2Zy ZWVfY21kKCkgZnJvbSAxIGludG8gMC4KClNpZ25lZC1vZmYtYnk6IEJhcnQgVmFuIEFzc2NoZSA8 YmFydC52YW5hc3NjaGVAc2FuZGlzay5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz ZS5jb20+CkNjOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KQ2M6IEhhbm5lcyBSZWlu ZWNrZSA8aGFyZUBzdXNlLmNvbT4KQ2M6IERhdmlkIERpc3NlbGRvcnAgPGRkaXNzQHN1c2UuZGU+ CkNjOiB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKLS0tCiBkcml2ZXJzL3hlbi94ZW4t c2NzaWJhY2suYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jIGIvZHJpdmVy cy94ZW4veGVuLXNjc2liYWNrLmMKaW5kZXggNWYxZGFmMTYxMzEyLi4zYTY3YWNiMzNkZmIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jCisrKyBiL2RyaXZlcnMveGVuL3hl bi1zY3NpYmFjay5jCkBAIC02MjMsNyArNjIzLDcgQEAgc3RhdGljIHZvaWQgc2NzaWJhY2tfZGV2 aWNlX2FjdGlvbihzdHJ1Y3QgdnNjc2lia19wZW5kICpwZW5kaW5nX3JlcSwKIAkJU1VDQ0VTUyA6 IEZBSUxFRDsKIAogCXNjc2liYWNrX2RvX3Jlc3Bfd2l0aF9zZW5zZShOVUxMLCBlcnIsIDAsIHBl bmRpbmdfcmVxKTsKLQl0cmFuc3BvcnRfZ2VuZXJpY19mcmVlX2NtZCgmcGVuZGluZ19yZXEtPnNl X2NtZCwgMSk7CisJdHJhbnNwb3J0X2dlbmVyaWNfZnJlZV9jbWQoJnBlbmRpbmdfcmVxLT5zZV9j bWQsIDApOwogCXJldHVybjsKIGVycjoKIAlpZiAodG1yKQotLSAKMi4xMi4yCgo= --_006_1494462204123181camelsandiskcom_ Content-Type: text/x-patch; name="0003-target-tcm_loop-Replace-a-waitqueue-and-a-counter-by.patch" Content-Description: 0003-target-tcm_loop-Replace-a-waitqueue-and-a-counter-by.patch Content-Disposition: attachment; filename="0003-target-tcm_loop-Replace-a-waitqueue-and-a-counter-by.patch"; size=2527; creation-date="Thu, 11 May 2017 00:23:25 GMT"; modification-date="Thu, 11 May 2017 00:23:25 GMT" Content-ID: <85773751AD916249A6A234517DADE9CA@namprd04.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSA5MDFjNGNkMWYxNjk0ZmJlMmVkZjIzNTczNDQ2MjA1NmFkNThhOWU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDE0OjM1OjU1IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCAzLzVdIHRhcmdldC90Y21fbG9vcDogUmVwbGFjZSBhIHdhaXRxdWV1ZSBhbmQgYSBjb3Vu dGVyIGJ5IGEKIGNvbXBsZXRpb24KCk1ha2UgdGhlIHRjbV9sb29wIGNvZGUgc2xpZ2h0bHkgZWFz aWVyIHRvIHJlYWQgYnkgdXNpbmcgYSBzdHJ1Y3QKY29tcGxldGlvbiBpbnN0ZWFkIG9mIG9wZW4t Y29kaW5nIHRoZSBjb21wbGV0aW9uIGNvbmNlcHQuCgpTaWduZWQtb2ZmLWJ5OiBCYXJ0IFZhbiBB c3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRpc2suY29tPgpDYzogQ2hyaXN0b3BoIEhlbGx3aWcg PGhjaEBsc3QuZGU+CkNjOiBIYW5uZXMgUmVpbmVja2UgPGhhcmVAc3VzZS5jb20+CkNjOiBEYXZp ZCBEaXNzZWxkb3JwIDxkZGlzc0BzdXNlLmRlPgotLS0KIGRyaXZlcnMvdGFyZ2V0L2xvb3BiYWNr L3RjbV9sb29wLmMgfCAxMyArKysrKy0tLS0tLS0tCiBkcml2ZXJzL3RhcmdldC9sb29wYmFjay90 Y21fbG9vcC5oIHwgIDMgKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy90YXJnZXQvbG9vcGJhY2svdGNtX2xv b3AuYyBiL2RyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3RjbV9sb29wLmMKaW5kZXggNTA5MWIzMWIz ZTU2Li4yNWI2Y2FiNWUxNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3Rj bV9sb29wLmMKKysrIGIvZHJpdmVycy90YXJnZXQvbG9vcGJhY2svdGNtX2xvb3AuYwpAQCAtMjQ1 LDcgKzI0NSw3IEBAIHN0YXRpYyBpbnQgdGNtX2xvb3BfaXNzdWVfdG1yKHN0cnVjdCB0Y21fbG9v cF90cGcgKnRsX3RwZywKIAkJcHJfZXJyKCJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciB0 bF90bXJcbiIpOwogCQlnb3RvIHJlbGVhc2U7CiAJfQotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnRs X3Rtci0+dGxfdG1yX3dhaXQpOworCWluaXRfY29tcGxldGlvbigmdGxfdG1yLT5kb25lKTsKIAog CXNlX2NtZCA9ICZ0bF9jbWQtPnRsX3NlX2NtZDsKIAlzZV90cGcgPSAmdGxfdHBnLT50bF9zZV90 cGc7CkBAIC0yNzYsNyArMjc2LDcgQEAgc3RhdGljIGludCB0Y21fbG9vcF9pc3N1ZV90bXIoc3Ry dWN0IHRjbV9sb29wX3RwZyAqdGxfdHBnLAogCSAqIHRjbV9sb29wX3F1ZXVlX3RtX3JzcCgpIHRv IHdha2UgdXMgdXAuCiAJICovCiAJdHJhbnNwb3J0X2dlbmVyaWNfaGFuZGxlX3RtcihzZV9jbWQp OwotCXdhaXRfZXZlbnQodGxfdG1yLT50bF90bXJfd2FpdCwgYXRvbWljX3JlYWQoJnRsX3Rtci0+ dG1yX2NvbXBsZXRlKSk7CisJd2FpdF9mb3JfY29tcGxldGlvbigmdGxfdG1yLT5kb25lKTsKIAkv KgogCSAqIFRoZSBUTVIgTFVOX1JFU0VUIGhhcyBjb21wbGV0ZWQsIGNoZWNrIHRoZSByZXNwb25z ZSBzdGF0dXMgYW5kCiAJICogdGhlbiByZWxlYXNlIGFsbG9jYXRpb25zLgpAQCAtNjcxLDEyICs2 NzEsOSBAQCBzdGF0aWMgdm9pZCB0Y21fbG9vcF9xdWV1ZV90bV9yc3Aoc3RydWN0IHNlX2NtZCAq c2VfY21kKQogewogCXN0cnVjdCBzZV90bXJfcmVxICpzZV90bXIgPSBzZV9jbWQtPnNlX3Rtcl9y ZXE7CiAJc3RydWN0IHRjbV9sb29wX3RtciAqdGxfdG1yID0gc2VfdG1yLT5mYWJyaWNfdG1yX3B0 cjsKLQkvKgotCSAqIFRoZSBTQ1NJIEVIIHRocmVhZCB3aWxsIGJlIHNsZWVwaW5nIG9uIHNlX3Rt ci0+dGxfdG1yX3dhaXQsIGdvIGFoZWFkCi0JICogYW5kIHdha2UgdXAgdGhlIHdhaXRfcXVldWVf aGVhZF90IGluIHRjbV9sb29wX2RldmljZV9yZXNldCgpCi0JICovCi0JYXRvbWljX3NldCgmdGxf dG1yLT50bXJfY29tcGxldGUsIDEpOwotCXdha2VfdXAoJnRsX3Rtci0+dGxfdG1yX3dhaXQpOwor CisJLyogV2FrZSB1cCB0Y21fbG9vcF9pc3N1ZV90bXIoKS4gKi8KKwljb21wbGV0ZSgmdGxfdG1y LT5kb25lKTsKIH0KIAogc3RhdGljIHZvaWQgdGNtX2xvb3BfYWJvcnRlZF90YXNrKHN0cnVjdCBz ZV9jbWQgKnNlX2NtZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3RjbV9s b29wLmggYi9kcml2ZXJzL3RhcmdldC9sb29wYmFjay90Y21fbG9vcC5oCmluZGV4IGE4YTIzMGI0 ZTZiNS4uZjU0YjYwNWMzM2M0IDEwMDY0NAotLS0gYS9kcml2ZXJzL3RhcmdldC9sb29wYmFjay90 Y21fbG9vcC5oCisrKyBiL2RyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3RjbV9sb29wLmgKQEAgLTIx LDggKzIxLDcgQEAgc3RydWN0IHRjbV9sb29wX2NtZCB7CiB9OwogCiBzdHJ1Y3QgdGNtX2xvb3Bf dG1yIHsKLQlhdG9taWNfdCB0bXJfY29tcGxldGU7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QgdGxfdG1y X3dhaXQ7CisJc3RydWN0IGNvbXBsZXRpb24gZG9uZTsKIH07CiAKIHN0cnVjdCB0Y21fbG9vcF9u ZXh1cyB7Ci0tIAoyLjEyLjIKCg== --_006_1494462204123181camelsandiskcom_ Content-Type: text/x-patch; name="0004-target-tcm_loop-Simplify-the-task-management-functio.patch" Content-Description: 0004-target-tcm_loop-Simplify-the-task-management-functio.patch Content-Disposition: attachment; filename="0004-target-tcm_loop-Simplify-the-task-management-functio.patch"; size=2547; creation-date="Thu, 11 May 2017 00:23:25 GMT"; modification-date="Thu, 11 May 2017 00:23:25 GMT" Content-ID: <37593DA0DA81164C8DDA0A94907E3D9A@namprd04.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSAxYjA5YWZhYzRjODVhNDIzZjI0Mzk3ZGU0M2VlNDU4MmQwZDFhYWM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDE0OjMwOjExIC0wNzAwClN1YmplY3Q6IFtQ QVRDSCA0LzVdIHRhcmdldC90Y21fbG9vcDogU2ltcGxpZnkgdGhlIHRhc2sgbWFuYWdlbWVudCBm dW5jdGlvbgogaW1wbGVtZW50YXRpb24KClVzZSB0YXJnZXRfc3VibWl0X3RtcigpIGluc3RlYWQg b2Ygb3Blbi1jb2RpbmcgdGhpcyBmdW5jdGlvbi4gVGhlCm9ubHkgZnVuY3Rpb25hbCBjaGFuZ2Ug aXMgdGhhdCBUTUZzIGFyZSBub3cgYWRkZWQgdG8gc2Vzc19jbWRfbGlzdCwKc29tZXRoaW5nIHRo ZSBjdXJyZW50IGNvZGUgZG9lcyBub3QgZG8uCgpTaWduZWQtb2ZmLWJ5OiBCYXJ0IFZhbiBBc3Nj aGUgPGJhcnQudmFuYXNzY2hlQHNhbmRpc2suY29tPgpDYzogQ2hyaXN0b3BoIEhlbGx3aWcgPGhj aEBsc3QuZGU+CkNjOiBIYW5uZXMgUmVpbmVja2UgPGhhcmVAc3VzZS5jb20+CkNjOiBEYXZpZCBE aXNzZWxkb3JwIDxkZGlzc0BzdXNlLmRlPgotLS0KIGRyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3Rj bV9sb29wLmMgfCAzMyArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3RjbV9sb29wLmMgYi9kcml2ZXJzL3RhcmdldC9sb29wYmFj ay90Y21fbG9vcC5jCmluZGV4IDI1YjZjYWI1ZTE1OC4uNDhkNzUxYzUzMTA0IDEwMDY0NAotLS0g YS9kcml2ZXJzL3RhcmdldC9sb29wYmFjay90Y21fbG9vcC5jCisrKyBiL2RyaXZlcnMvdGFyZ2V0 L2xvb3BiYWNrL3RjbV9sb29wLmMKQEAgLTIxOCw3ICsyMTgsNiBAQCBzdGF0aWMgaW50IHRjbV9s b29wX2lzc3VlX3RtcihzdHJ1Y3QgdGNtX2xvb3BfdHBnICp0bF90cGcsCiB7CiAJc3RydWN0IHNl X2NtZCAqc2VfY21kID0gTlVMTDsKIAlzdHJ1Y3Qgc2Vfc2Vzc2lvbiAqc2Vfc2VzczsKLQlzdHJ1 Y3Qgc2VfcG9ydGFsX2dyb3VwICpzZV90cGc7CiAJc3RydWN0IHRjbV9sb29wX25leHVzICp0bF9u ZXh1czsKIAlzdHJ1Y3QgdGNtX2xvb3BfY21kICp0bF9jbWQgPSBOVUxMOwogCXN0cnVjdCB0Y21f bG9vcF90bXIgKnRsX3RtciA9IE5VTEw7CkBAIC0yNDgsNDAgKzI0NywxNiBAQCBzdGF0aWMgaW50 IHRjbV9sb29wX2lzc3VlX3RtcihzdHJ1Y3QgdGNtX2xvb3BfdHBnICp0bF90cGcsCiAJaW5pdF9j b21wbGV0aW9uKCZ0bF90bXItPmRvbmUpOwogCiAJc2VfY21kID0gJnRsX2NtZC0+dGxfc2VfY21k OwotCXNlX3RwZyA9ICZ0bF90cGctPnRsX3NlX3RwZzsKIAlzZV9zZXNzID0gdGxfdHBnLT50bF9u ZXh1cy0+c2Vfc2VzczsKLQkvKgotCSAqIEluaXRpYWxpemUgc3RydWN0IHNlX2NtZCBkZXNjcmlw dG9yIGZyb20gdGFyZ2V0X2NvcmVfbW9kIGluZnJhc3RydWN0dXJlCi0JICovCi0JdHJhbnNwb3J0 X2luaXRfc2VfY21kKHNlX2NtZCwgc2VfdHBnLT5zZV90cGdfdGZvLCBzZV9zZXNzLCAwLAotCQkJ CURNQV9OT05FLCBUQ01fU0lNUExFX1RBRywKLQkJCQkmdGxfY21kLT50bF9zZW5zZV9idWZbMF0p OwogCi0JcmMgPSBjb3JlX3Rtcl9hbGxvY19yZXEoc2VfY21kLCB0bF90bXIsIHRtciwgR0ZQX0tF Uk5FTCk7CisJcmMgPSB0YXJnZXRfc3VibWl0X3RtcihzZV9jbWQsIHNlX3Nlc3MsIE5VTEwsIDAg LyogdW5wYWNrZWRfbHVuICovLAorCQkJICAgICAgIHRsX3RtciwgdG1yLCBHRlBfS0VSTkVMLCBU Q01fU0lNUExFX1RBRywKKwkJCSAgICAgICAwIC8qZmxhZ3MqLyk7CiAJaWYgKHJjIDwgMCkKIAkJ Z290byByZWxlYXNlOwotCi0JaWYgKHRtciA9PSBUTVJfQUJPUlRfVEFTSykKLQkJc2VfY21kLT5z ZV90bXJfcmVxLT5yZWZfdGFza190YWcgPSB0YXNrOwotCi0JLyoKLQkgKiBMb2NhdGUgdGhlIHVu ZGVybHlpbmcgVENNIHN0cnVjdCBzZV9sdW4KLQkgKi8KLQlpZiAodHJhbnNwb3J0X2xvb2t1cF90 bXJfbHVuKHNlX2NtZCwgbHVuKSA8IDApIHsKLQkJcmV0ID0gVE1SX0xVTl9ET0VTX05PVF9FWElT VDsKLQkJZ290byByZWxlYXNlOwotCX0KLQkvKgotCSAqIFF1ZXVlIHRoZSBUTVIgdG8gVENNIENv cmUgYW5kIHNsZWVwIHdhaXRpbmcgZm9yCi0JICogdGNtX2xvb3BfcXVldWVfdG1fcnNwKCkgdG8g d2FrZSB1cyB1cC4KLQkgKi8KLQl0cmFuc3BvcnRfZ2VuZXJpY19oYW5kbGVfdG1yKHNlX2NtZCk7 CiAJd2FpdF9mb3JfY29tcGxldGlvbigmdGxfdG1yLT5kb25lKTsKLQkvKgotCSAqIFRoZSBUTVIg TFVOX1JFU0VUIGhhcyBjb21wbGV0ZWQsIGNoZWNrIHRoZSByZXNwb25zZSBzdGF0dXMgYW5kCi0J ICogdGhlbiByZWxlYXNlIGFsbG9jYXRpb25zLgotCSAqLwogCXJldCA9IHNlX2NtZC0+c2VfdG1y X3JlcS0+cmVzcG9uc2U7CisKIHJlbGVhc2U6CiAJaWYgKHNlX2NtZCkKIAkJdHJhbnNwb3J0X2dl bmVyaWNfZnJlZV9jbWQoc2VfY21kLCAxKTsKLS0gCjIuMTIuMgoK --_006_1494462204123181camelsandiskcom_ Content-Type: text/x-patch; name="0005-target-tcm_loop-Make-TMF-processing-slightly-faster.patch" Content-Description: 0005-target-tcm_loop-Make-TMF-processing-slightly-faster.patch Content-Disposition: attachment; filename="0005-target-tcm_loop-Make-TMF-processing-slightly-faster.patch"; size=2900; creation-date="Thu, 11 May 2017 00:23:25 GMT"; modification-date="Thu, 11 May 2017 00:23:25 GMT" Content-ID: <82E830AFC112134D89A314C2320DA682@namprd04.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSA0Yzk2MWRjNDViYjVkMzVjZGVmYThmMGY5NGViZDg0NTNhOWQ2Y2M0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDE1OjAxOjM4IC0wNzAwClN1YmplY3Q6IFtQ QVRDSCA1LzVdIHRhcmdldC90Y21fbG9vcDogTWFrZSBUTUYgcHJvY2Vzc2luZyBzbGlnaHRseSBm YXN0ZXIKClRhcmdldCBkcml2ZXJzIG11c3QgZ3VhcmFudGVlIHRoYXQgc3RydWN0IHNlX2NtZCBh bmQgc3RydWN0IHNlX3Rtcl9yZXEKZXhpc3QgYXMgbG9uZyBhcyB0YXJnZXRfdG1yX3dvcmsoKSBp cyBpbiBwcm9ncmVzcy4gVGhpcyBpcyB3aHkgdGhlCnRjbV9sb29wIGRyaXZlciB0b2RheSBwYXNz ZXMgMSBhcyBzZWNvbmQgYXJndW1lbnQgdG8KdHJhbnNwb3J0X2dlbmVyaWNfZnJlZV9jbWQoKSBm cm9tIGluc2lkZSB0aGUgVE1GIGNvZGUuIEluc3RlYWQgb2YKbWFraW5nIHRoZSBUTUYgY29kZSB3 YWl0LCBtYWtlIHRoZSBUTUYgY29kZSBvYnRhaW4gdHdvIHJlZmVyZW5jZXMKKFNDRl9BQ0tfS1JF RikgYW5kIGRyb3Agb25lIHJlZmVyZW5jZSBmcm9tIGluc2lkZSB0aGUgLmNoZWNrX3N0b3BfZnJl ZSgpCmNhbGxiYWNrLgoKU2lnbmVkLW9mZi1ieTogQmFydCBWYW4gQXNzY2hlIDxiYXJ0LnZhbmFz c2NoZUBzYW5kaXNrLmNvbT4KQ2M6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPgpDYzog SGFubmVzIFJlaW5lY2tlIDxoYXJlQHN1c2UuY29tPgpDYzogRGF2aWQgRGlzc2VsZG9ycCA8ZGRp c3NAc3VzZS5kZT4KLS0tCiBkcml2ZXJzL3RhcmdldC9sb29wYmFjay90Y21fbG9vcC5jIHwgMjcg KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9u cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy90YXJnZXQvbG9vcGJh Y2svdGNtX2xvb3AuYyBiL2RyaXZlcnMvdGFyZ2V0L2xvb3BiYWNrL3RjbV9sb29wLmMKaW5kZXgg NDhkNzUxYzUzMTA0Li4xMzZkNzAyODVmOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdGFyZ2V0L2xv b3BiYWNrL3RjbV9sb29wLmMKKysrIGIvZHJpdmVycy90YXJnZXQvbG9vcGJhY2svdGNtX2xvb3Au YwpAQCAtNTEsMjcgKzUxLDE4IEBAIHN0YXRpYyBpbnQgdGNtX2xvb3BfcXVldWVfc3RhdHVzKHN0 cnVjdCBzZV9jbWQgKnNlX2NtZCk7CiAgKi8KIHN0YXRpYyBpbnQgdGNtX2xvb3BfY2hlY2tfc3Rv cF9mcmVlKHN0cnVjdCBzZV9jbWQgKnNlX2NtZCkKIHsKLQkvKgotCSAqIERvIG5vdCByZWxlYXNl IHN0cnVjdCBzZV9jbWQncyBjb250YWluaW5nIGEgdmFsaWQgVE1SCi0JICogcG9pbnRlci4gIFRo ZXNlIHdpbGwgYmUgcmVsZWFzZWQgZGlyZWN0bHkgaW4gdGNtX2xvb3BfZGV2aWNlX3Jlc2V0KCkK LQkgKiB3aXRoIHRyYW5zcG9ydF9nZW5lcmljX2ZyZWVfY21kKCkuCi0JICovCi0JaWYgKHNlX2Nt ZC0+c2VfY21kX2ZsYWdzICYgU0NGX1NDU0lfVE1SX0NEQikKLQkJcmV0dXJuIDA7Ci0JLyoKLQkg KiBSZWxlYXNlIHRoZSBzdHJ1Y3Qgc2VfY21kLCB3aGljaCB3aWxsIG1ha2UgYSBjYWxsYmFjayB0 byByZWxlYXNlCi0JICogc3RydWN0IHRjbV9sb29wX2NtZCAqIGluIHRjbV9sb29wX2RlYWxsb2Nh dGVfY29yZV9jbWQoKQotCSAqLwotCXRyYW5zcG9ydF9nZW5lcmljX2ZyZWVfY21kKHNlX2NtZCwg MCk7Ci0JcmV0dXJuIDE7CisJcmV0dXJuIHRyYW5zcG9ydF9nZW5lcmljX2ZyZWVfY21kKHNlX2Nt ZCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHRjbV9sb29wX3JlbGVhc2VfY21kKHN0cnVjdCBzZV9j bWQgKnNlX2NtZCkKIHsKIAlzdHJ1Y3QgdGNtX2xvb3BfY21kICp0bF9jbWQgPSBjb250YWluZXJf b2Yoc2VfY21kLAogCQkJCXN0cnVjdCB0Y21fbG9vcF9jbWQsIHRsX3NlX2NtZCk7CisJc3RydWN0 IHNlX3Rtcl9yZXEgKnNlX3RtciA9IHNlX2NtZC0+c2VfdG1yX3JlcTsKKwlzdHJ1Y3QgdGNtX2xv b3BfdG1yICp0bF90bXIgPSBzZV90bXIgPyBzZV90bXItPmZhYnJpY190bXJfcHRyIDogTlVMTDsK IAogCWttZW1fY2FjaGVfZnJlZSh0Y21fbG9vcF9jbWRfY2FjaGUsIHRsX2NtZCk7CisJa2ZyZWUo dGxfdG1yKTsKIH0KIAogc3RhdGljIGludCB0Y21fbG9vcF9zaG93X2luZm8oc3RydWN0IHNlcV9m aWxlICptLCBzdHJ1Y3QgU2NzaV9Ib3N0ICpob3N0KQpAQCAtMjUxLDE5ICsyNDIsMjMgQEAgc3Rh dGljIGludCB0Y21fbG9vcF9pc3N1ZV90bXIoc3RydWN0IHRjbV9sb29wX3RwZyAqdGxfdHBnLAog CiAJcmMgPSB0YXJnZXRfc3VibWl0X3RtcihzZV9jbWQsIHNlX3Nlc3MsIE5VTEwsIDAgLyogdW5w YWNrZWRfbHVuICovLAogCQkJICAgICAgIHRsX3RtciwgdG1yLCBHRlBfS0VSTkVMLCBUQ01fU0lN UExFX1RBRywKLQkJCSAgICAgICAwIC8qZmxhZ3MqLyk7CisJCQkgICAgICAgVEFSR0VUX1NDRl9B Q0tfS1JFRik7CiAJaWYgKHJjIDwgMCkKIAkJZ290byByZWxlYXNlOwogCXdhaXRfZm9yX2NvbXBs ZXRpb24oJnRsX3Rtci0+ZG9uZSk7CiAJcmV0ID0gc2VfY21kLT5zZV90bXJfcmVxLT5yZXNwb25z ZTsKKwl0YXJnZXRfcHV0X3Nlc3NfY21kKHNlX2NtZCk7CisKK291dDoKKwlyZXR1cm4gcmV0Owog CiByZWxlYXNlOgogCWlmIChzZV9jbWQpCi0JCXRyYW5zcG9ydF9nZW5lcmljX2ZyZWVfY21kKHNl X2NtZCwgMSk7CisJCXRyYW5zcG9ydF9nZW5lcmljX2ZyZWVfY21kKHNlX2NtZCwgMCk7CiAJZWxz ZQogCQlrbWVtX2NhY2hlX2ZyZWUodGNtX2xvb3BfY21kX2NhY2hlLCB0bF9jbWQpOwogCWtmcmVl KHRsX3Rtcik7Ci0JcmV0dXJuIHJldDsKKwlnb3RvIG91dDsKIH0KIAogc3RhdGljIGludCB0Y21f bG9vcF9hYm9ydF90YXNrKHN0cnVjdCBzY3NpX2NtbmQgKnNjKQotLSAKMi4xMi4yCgo= --_006_1494462204123181camelsandiskcom_--