From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meng Xu Subject: [PATCH v3 1/5] xen:rtds: towards work conserving RTDS Date: Tue, 10 Oct 2017 19:17:41 -0400 Message-ID: <1507677465-3840-2-git-send-email-mengxu@cis.upenn.edu> References: <1507677465-3840-1-git-send-email-mengxu@cis.upenn.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e23mq-00056t-IC for xen-devel@lists.xenproject.org; Tue, 10 Oct 2017 23:18:08 +0000 In-Reply-To: <1507677465-3840-1-git-send-email-mengxu@cis.upenn.edu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, george.dunlap@eu.citrix.com, ian.jackson@eu.citrix.com, raistlin@linux.it, Meng Xu , xumengpanda@gmail.com List-Id: xen-devel@lists.xenproject.org TWFrZSBSVERTIHNjaGVkdWxlciB3b3JrIGNvbnNlcnZpbmcgd2l0aG91dCBicmVha2luZyB0aGUg cmVhbC10aW1lIGd1YXJhbnRlZXMuCgpWQ1BVIG1vZGVsOgpFYWNoIHJlYWwtdGltZSBWQ1BVIGlz IGV4dGVuZGVkIHRvIGhhdmUgYW4gZXh0cmF0aW1lIGZsYWcKYW5kIGEgcHJpb3JpdHlfbGV2ZWwg ZmllbGQuCldoZW4gYSBWQ1BVJ3MgYnVkZ2V0IGlzIGRlcGxldGVkIGluIHRoZSBjdXJyZW50IHBl cmlvZCwKaWYgaXQgaGFzIGV4dHJhdGltZSBmbGFnIHNldCwKaXRzIHByaW9yaXR5X2xldmVsIHdp bGwgaW5jcmVhc2UgYnkgMSBhbmQgaXRzIGJ1ZGdldCB3aWxsIGJlIHJlZmlsbGVkOwpvdGhld3Jp c2UsIHRoZSBWQ1BVIHdpbGwgYmUgbW92ZWQgdG8gdGhlIGRlcGxldGVkcS4KClNjaGVkdWxpbmcg cG9saWN5IGlzIG1vZGlmaWVkIGdsb2JhbCBFREY6CkEgVkNQVSB2MSBoYXMgaGlnaGVyIHByaW9y aXR5IHRoYW4gYW5vdGhlciBWQ1BVIHYyIGlmCihpKSB2MSBoYXMgc21hbGxlciBwcmlvcml0eV9s ZXZlOyBvcgooaWkpIHYxIGhhcyB0aGUgc2FtZSBwcmlvcml0eV9sZXZlbCBidXQgaGFzIGEgc21h bGxlciBkZWFkbGluZQoKUXVldWUgbWFuYWdlbWVudDoKUnVuIHF1ZXVlIGhvbGRzIFZDUFVzIHdp dGggZXh0cmF0aW1lIGZsYWcgc2V0IGFuZCBWQ1BVcyB3aXRoCnJlbWFpbmluZyBidWRnZXQuIFJ1 biBxdWV1ZSBpcyBzb3J0ZWQgaW4gaW5jcmVhc2luZyBvcmRlciBvZiBWQ1BVcyBwcmlvcml0aWVz LgpEZXBsZXRlZCBxdWV1ZSBob2xkcyBWQ1BVcyB3aGljaCBoYXZlIGV4dHJhdGltZSBmbGFnIGNs ZWFyZWQgYW5kIGRlcGxldGVkIGJ1ZGdldC4KUmVwbGVuaXNoZWQgcXVldWUgaXMgbm90IG1vZGlm aWVkLgoKRGlzdHJpYnV0aW9uIG9mIHNwYXJlIGJhbmR3aWR0aApTcGFyZSBiYW5kd2lkdGggaXMg ZGlzdHJpYnV0ZWQgYW1vbmcgYWxsIFZDUFVzIHdpdGggZXh0cmF0aW1lIGZsYWcgc2V0LApwcm9w b3J0aW9uYWwgdG8gdGhlc2UgVkNQVXMgdXRpbGl6YXRpb25zCgpTaWduZWQtb2ZmLWJ5OiBNZW5n IFh1IDxtZW5neHVAY2lzLnVwZW5uLmVkdT4KCi0tLQpDaGFuZ2VzIGZyb20gdjIKRXhwbGFpbiBo b3cgdG8gZGlzdHJpYnV0ZSBzcGFyZSBiYW5kd2lkdGggaW4gY29tbWl0IGxvZwpNaW5vciBjaGFu Z2UgaW4gaGFzX2V4dHJhdGltZSBmdW5jdGlvbiB3aXRob3V0IGZ1bmN0aW9uYWxpdHkgY2hhbmdl LgoKQ2hhbmdlcyBmcm9tIHYxCkNoYW5nZSBYRU5fRE9NQ1RMX1NDSEVEX1JURFNfZXh0cmF0aW1l IHRvIFhFTl9ET01DVExfU0NIRURSVF9leHRyYSBhcwpzdWdnZXN0ZWQgYnkgRGFyaW8KCkNoYW5n ZXMgZnJvbSBSRkMgdjEKUmV3b3JkaW5nIGNvbW1lbnRzIGFuZCBjb21taXQgbWVzc2FnZQpSZW1v dmUgaXNfd29ya19jb25zZXJ2aW5nIGZpZWxkIGZyb20gcnRfdmNwdSBzdHJ1Y3R1cmUKVXNlIG9u ZSBiaXQgaW4gVkNQVSdzIGZsYWcgdG8gaW5kaWNhdGUgaWYgYSBWQ1BVIHdpbGwgaGF2ZSBleHRy YSB0aW1lCkNvcnJlY3QgY29tbWVudHMgc3R5bGUKLS0tCiB4ZW4vY29tbW9uL3NjaGVkX3J0LmMg ICAgICAgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0K IHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCB8ICA0ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDgw IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24v c2NoZWRfcnQuYyBiL3hlbi9jb21tb24vc2NoZWRfcnQuYwppbmRleCA1YzUxY2Q5Li5iNzcwMjg3 IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX3J0LmMKKysrIGIveGVuL2NvbW1vbi9zY2hl ZF9ydC5jCkBAIC00OSwxMyArNDksMTUgQEAKICAqIEEgUENQVSBpcyBmZWFzaWJsZSBpZiB0aGUg VkNQVSBjYW4gcnVuIG9uIHRoaXMgUENQVSBhbmQgKHRoZSBQQ1BVIGlzIGlkbGUgb3IKICAqIGhh cyBhIGxvd2VyLXByaW9yaXR5IFZDUFUgcnVubmluZyBvbiBpdC4pCiAgKgotICogRWFjaCBWQ1BV IGhhcyBhIGRlZGljYXRlZCBwZXJpb2QgYW5kIGJ1ZGdldC4KKyAqIEVhY2ggVkNQVSBoYXMgYSBk ZWRpY2F0ZWQgcGVyaW9kLCBidWRnZXQgYW5kIGEgZXh0cmF0aW1lIGZsYWcKICAqIFRoZSBkZWFk bGluZSBvZiBhIFZDUFUgaXMgYXQgdGhlIGVuZCBvZiBlYWNoIHBlcmlvZDsKICAqIEEgVkNQVSBo YXMgaXRzIGJ1ZGdldCByZXBsZW5pc2hlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcGVyaW9k OwogICogV2hpbGUgc2NoZWR1bGVkLCBhIFZDUFUgYnVybnMgaXRzIGJ1ZGdldC4KICAqIFRoZSBW Q1BVIG5lZWRzIHRvIGZpbmlzaCBpdHMgYnVkZ2V0IGJlZm9yZSBpdHMgZGVhZGxpbmUgaW4gZWFj aCBwZXJpb2Q7CiAgKiBUaGUgVkNQVSBkaXNjYXJkcyBpdHMgdW51c2VkIGJ1ZGdldCBhdCB0aGUg ZW5kIG9mIGVhY2ggcGVyaW9kLgotICogSWYgYSBWQ1BVIHJ1bnMgb3V0IG9mIGJ1ZGdldCBpbiBh IHBlcmlvZCwgaXQgaGFzIHRvIHdhaXQgdW50aWwgbmV4dCBwZXJpb2QuCisgKiBXaGVuIGEgVkNQ VSBydW5zIG91dCBvZiBidWRnZXQgaW4gYSBwZXJpb2QsIGlmIGl0cyBleHRyYXRpbWUgZmxhZyBp cyBzZXQsCisgKiB0aGUgVkNQVSBpbmNyZWFzZXMgaXRzIHByaW9yaXR5X2xldmVsIGJ5IDEgYW5k IHJlZmlsbHMgaXRzIGJ1ZGdldDsgb3RoZXJ3aXNlLAorICogaXQgaGFzIHRvIHdhaXQgdW50aWwg bmV4dCBwZXJpb2QuCiAgKgogICogRWFjaCBWQ1BVIGlzIGltcGxlbWVudGVkIGFzIGEgZGVmZXJh YmxlIHNlcnZlci4KICAqIFdoZW4gYSBWQ1BVIGhhcyBhIHRhc2sgcnVubmluZyBvbiBpdCwgaXRz IGJ1ZGdldCBpcyBjb250aW51b3VzbHkgYnVybmVkOwpAQCAtNjMsNyArNjUsOCBAQAogICoKICAq IFF1ZXVlIHNjaGVtZToKICAqIEEgZ2xvYmFsIHJ1bnF1ZXVlIGFuZCBhIGdsb2JhbCBkZXBsZXRl ZHF1ZXVlIGZvciBlYWNoIENQVSBwb29sLgotICogVGhlIHJ1bnF1ZXVlIGhvbGRzIGFsbCBydW5u YWJsZSBWQ1BVcyB3aXRoIGJ1ZGdldCwgc29ydGVkIGJ5IGRlYWRsaW5lOworICogVGhlIHJ1bnF1 ZXVlIGhvbGRzIGFsbCBydW5uYWJsZSBWQ1BVcyB3aXRoIGJ1ZGdldCwKKyAqIHNvcnRlZCBieSBw cmlvcml0eV9sZXZlbCBhbmQgZGVhZGxpbmU7CiAgKiBUaGUgZGVwbGV0ZWRxdWV1ZSBob2xkcyBh bGwgVkNQVXMgd2l0aG91dCBidWRnZXQsIHVuc29ydGVkOwogICoKICAqIE5vdGU6IGNwdW1hc2sg YW5kIGNwdXBvb2wgaXMgc3VwcG9ydGVkLgpAQCAtMTUxLDYgKzE1NCwxNCBAQAogI2RlZmluZSBS VERTX2RlcGxldGVkICgxPDxfX1JURFNfZGVwbGV0ZWQpCiAKIC8qCisgKiBSVERTX2V4dHJhdGlt ZTogQ2FuIHRoZSB2Y3B1IHJ1biBpbiB0aGUgdGltZSB0aGF0IGlzCisgKiBub3QgcGFydCBvZiBh bnkgcmVhbC10aW1lIHJlc2VydmF0aW9uLCBhbmQgd291bGQgdGhlcmVmb3JlCisgKiBiZSBvdGhl cndpc2UgbGVmdCBpZGxlPworICovCisjZGVmaW5lIF9fUlREU19leHRyYXRpbWUgICAgNAorI2Rl ZmluZSBSVERTX2V4dHJhdGltZSAoMTw8X19SVERTX2V4dHJhdGltZSkKKworLyoKICAqIHJ0IHRy YWNpbmcgZXZlbnRzICgib25seSIgNTEyIGF2YWlsYWJsZSEpLiBDaGVjawogICogaW5jbHVkZS9w dWJsaWMvdHJhY2UuaCBmb3IgbW9yZSBkZXRhaWxzLgogICovCkBAIC0yMDEsNiArMjEyLDggQEAg c3RydWN0IHJ0X3ZjcHUgewogICAgIHN0cnVjdCBydF9kb20gKnNkb207CiAgICAgc3RydWN0IHZj cHUgKnZjcHU7CiAKKyAgICB1bnNpZ25lZCBwcmlvcml0eV9sZXZlbDsKKwogICAgIHVuc2lnbmVk IGZsYWdzOyAgICAgICAgICAgICAgLyogbWFyayBfX1JURFNfc2NoZWR1bGVkLCBldGMuLiAqLwog fTsKIApAQCAtMjQ1LDYgKzI1OCwxMSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBsaXN0X2hlYWQg KnJ0X3JlcGxxKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKICAgICByZXR1cm4gJnJ0X3By aXYob3BzKS0+cmVwbHE7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBoYXNfZXh0cmF0aW1lKGNv bnN0IHN0cnVjdCBydF92Y3B1ICpzdmMpCit7CisgICAgcmV0dXJuIHN2Yy0+ZmxhZ3MgJiBSVERT X2V4dHJhdGltZTsKK30KKwogLyoKICAqIEhlbHBlciBmdW5jdGlvbnMgZm9yIG1hbmlwdWxhdGlu ZyB0aGUgcnVucXVldWUsIHRoZSBkZXBsZXRlZCBxdWV1ZSwKICAqIGFuZCB0aGUgcmVwbGVuaXNo bWVudCBldmVudHMgcXVldWUuCkBAIC0yNzQsNiArMjkyLDIxIEBAIHZjcHVfb25fcmVwbHEoY29u c3Qgc3RydWN0IHJ0X3ZjcHUgKnN2YykKIH0KIAogLyoKKyAqIElmIHYxIHByaW9yaXR5ID49IHYy IHByaW9yaXR5LCByZXR1cm4gdmFsdWUgPiAwCisgKiBPdGhlcndpc2UsIHJldHVybiB2YWx1ZSA8 IDAKKyAqLworc3RhdGljIHNfdGltZV90Citjb21wYXJlX3ZjcHVfcHJpb3JpdHkoY29uc3Qgc3Ry dWN0IHJ0X3ZjcHUgKnYxLCBjb25zdCBzdHJ1Y3QgcnRfdmNwdSAqdjIpCit7CisgICAgaW50IHBy aW8gPSB2Mi0+cHJpb3JpdHlfbGV2ZWwgLSB2MS0+cHJpb3JpdHlfbGV2ZWw7CisKKyAgICBpZiAo IHByaW8gPT0gMCApCisgICAgICAgIHJldHVybiB2Mi0+Y3VyX2RlYWRsaW5lIC0gdjEtPmN1cl9k ZWFkbGluZTsKKworICAgIHJldHVybiBwcmlvOworfQorCisvKgogICogRGVidWcgcmVsYXRlZCBj b2RlLCBkdW1wIHZjcHUvY3B1IGluZm9ybWF0aW9uCiAgKi8KIHN0YXRpYyB2b2lkCkBAIC0zMDMs NiArMzM2LDcgQEAgcnRfZHVtcF92Y3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgY29u c3Qgc3RydWN0IHJ0X3ZjcHUgKnN2YykKICAgICBjcHVsaXN0X3NjbnByaW50ZihrZXloYW5kbGVy X3NjcmF0Y2gsIHNpemVvZihrZXloYW5kbGVyX3NjcmF0Y2gpLCBtYXNrKTsKICAgICBwcmludGso IlslNWQuJS0ydV0gY3B1ICV1LCAoJSJQUklfc3RpbWUiLCAlIlBSSV9zdGltZSIpLCIKICAgICAg ICAgICAgIiBjdXJfYj0lIlBSSV9zdGltZSIgY3VyX2Q9JSJQUklfc3RpbWUiIGxhc3Rfc3RhcnQ9 JSJQUklfc3RpbWUiXG4iCisgICAgICAgICAgICIgXHRcdCBwcmlvcml0eV9sZXZlbD0lZCBoYXNf ZXh0cmF0aW1lPSVkXG4iCiAgICAgICAgICAgICIgXHRcdCBvblE9JWQgcnVubmFibGU9JWQgZmxh Z3M9JXggZWZmZWN0aXZlIGhhcmRfYWZmaW5pdHk9JXNcbiIsCiAgICAgICAgICAgICBzdmMtPnZj cHUtPmRvbWFpbi0+ZG9tYWluX2lkLAogICAgICAgICAgICAgc3ZjLT52Y3B1LT52Y3B1X2lkLApA QCAtMzEyLDYgKzM0Niw4IEBAIHJ0X2R1bXBfdmNwdShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpv cHMsIGNvbnN0IHN0cnVjdCBydF92Y3B1ICpzdmMpCiAgICAgICAgICAgICBzdmMtPmN1cl9idWRn ZXQsCiAgICAgICAgICAgICBzdmMtPmN1cl9kZWFkbGluZSwKICAgICAgICAgICAgIHN2Yy0+bGFz dF9zdGFydCwKKyAgICAgICAgICAgIHN2Yy0+cHJpb3JpdHlfbGV2ZWwsCisgICAgICAgICAgICBo YXNfZXh0cmF0aW1lKHN2YyksCiAgICAgICAgICAgICB2Y3B1X29uX3Eoc3ZjKSwKICAgICAgICAg ICAgIHZjcHVfcnVubmFibGUoc3ZjLT52Y3B1KSwKICAgICAgICAgICAgIHN2Yy0+ZmxhZ3MsCkBA IC00MjMsMTUgKzQ1OSwxOCBAQCBydF91cGRhdGVfZGVhZGxpbmUoc190aW1lX3Qgbm93LCBzdHJ1 Y3QgcnRfdmNwdSAqc3ZjKQogICAgICAqLwogICAgIHN2Yy0+bGFzdF9zdGFydCA9IG5vdzsKICAg ICBzdmMtPmN1cl9idWRnZXQgPSBzdmMtPmJ1ZGdldDsKKyAgICBzdmMtPnByaW9yaXR5X2xldmVs ID0gMDsKIAogICAgIC8qIFRSQUNFICovCiAgICAgewogICAgICAgICBzdHJ1Y3QgX19wYWNrZWQg ewogICAgICAgICAgICAgdW5zaWduZWQgdmNwdToxNiwgZG9tOjE2OworICAgICAgICAgICAgdW5z aWduZWQgcHJpb3JpdHlfbGV2ZWw7CiAgICAgICAgICAgICB1aW50NjRfdCBjdXJfZGVhZGxpbmUs IGN1cl9idWRnZXQ7CiAgICAgICAgIH0gZDsKICAgICAgICAgZC5kb20gPSBzdmMtPnZjcHUtPmRv bWFpbi0+ZG9tYWluX2lkOwogICAgICAgICBkLnZjcHUgPSBzdmMtPnZjcHUtPnZjcHVfaWQ7Cisg ICAgICAgIGQucHJpb3JpdHlfbGV2ZWwgPSBzdmMtPnByaW9yaXR5X2xldmVsOwogICAgICAgICBk LmN1cl9kZWFkbGluZSA9ICh1aW50NjRfdCkgc3ZjLT5jdXJfZGVhZGxpbmU7CiAgICAgICAgIGQu Y3VyX2J1ZGdldCA9ICh1aW50NjRfdCkgc3ZjLT5jdXJfYnVkZ2V0OwogICAgICAgICB0cmFjZV92 YXIoVFJDX1JURFNfQlVER0VUX1JFUExFTklTSCwgMSwKQEAgLTQ1NCw3ICs0OTMsNyBAQCBydF91 cGRhdGVfZGVhZGxpbmUoc190aW1lX3Qgbm93LCBzdHJ1Y3QgcnRfdmNwdSAqc3ZjKQogICogY2Fz ZXMsIGlmIHRoZSB2Y3B1IHdpdGggdGhlIGVhcmxpZXN0IGRlYWRsaW5lIGlzIHdoYXQgd2UKICAq IGFyZSBkZWFsaW5nIHdpdGgpLgogICovCi1zdGF0aWMgaW5saW5lIGJvb2xfdAorc3RhdGljIGlu bGluZSBib29sCiBkZWFkbGluZV9xdWV1ZV9yZW1vdmUoc3RydWN0IGxpc3RfaGVhZCAqcXVldWUs IHN0cnVjdCBsaXN0X2hlYWQgKmVsZW0pCiB7CiAgICAgaW50IHBvcyA9IDA7CkBAIC00NjYsNyAr NTA1LDcgQEAgZGVhZGxpbmVfcXVldWVfcmVtb3ZlKHN0cnVjdCBsaXN0X2hlYWQgKnF1ZXVlLCBz dHJ1Y3QgbGlzdF9oZWFkICplbGVtKQogICAgIHJldHVybiAhcG9zOwogfQogCi1zdGF0aWMgaW5s aW5lIGJvb2xfdAorc3RhdGljIGlubGluZSBib29sCiBkZWFkbGluZV9xdWV1ZV9pbnNlcnQoc3Ry dWN0IHJ0X3ZjcHUgKiAoKnFlbGVtKShzdHJ1Y3QgbGlzdF9oZWFkICopLAogICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydF92Y3B1ICpzdmMsIHN0cnVjdCBsaXN0X2hlYWQgKmVsZW0sCiAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqcXVldWUpCkBAIC00NzcsNyAr NTE2LDcgQEAgZGVhZGxpbmVfcXVldWVfaW5zZXJ0KHN0cnVjdCBydF92Y3B1ICogKCpxZWxlbSko c3RydWN0IGxpc3RfaGVhZCAqKSwKICAgICBsaXN0X2Zvcl9lYWNoICggaXRlciwgcXVldWUgKQog ICAgIHsKICAgICAgICAgc3RydWN0IHJ0X3ZjcHUgKiBpdGVyX3N2YyA9ICgqcWVsZW0pKGl0ZXIp OwotICAgICAgICBpZiAoIHN2Yy0+Y3VyX2RlYWRsaW5lIDw9IGl0ZXJfc3ZjLT5jdXJfZGVhZGxp bmUgKQorICAgICAgICBpZiAoIGNvbXBhcmVfdmNwdV9wcmlvcml0eShzdmMsIGl0ZXJfc3ZjKSA+ IDAgKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHBvcysrOwogICAgIH0KQEAgLTUzNyw4 ICs1NzYsOSBAQCBydW5xX2luc2VydChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVj dCBydF92Y3B1ICpzdmMpCiAgICAgQVNTRVJUKCAhdmNwdV9vbl9xKHN2YykgKTsKICAgICBBU1NF UlQoIHZjcHVfb25fcmVwbHEoc3ZjKSApOwogCi0gICAgLyogYWRkIHN2YyB0byBydW5xIGlmIHN2 YyBzdGlsbCBoYXMgYnVkZ2V0ICovCi0gICAgaWYgKCBzdmMtPmN1cl9idWRnZXQgPiAwICkKKyAg ICAvKiBhZGQgc3ZjIHRvIHJ1bnEgaWYgc3ZjIHN0aWxsIGhhcyBidWRnZXQgb3IgaXRzIGV4dHJh dGltZSBpcyBzZXQgKi8KKyAgICBpZiAoIHN2Yy0+Y3VyX2J1ZGdldCA+IDAgfHwKKyAgICAgICAg IGhhc19leHRyYXRpbWUoc3ZjKSApCiAgICAgICAgIGRlYWRsaW5lX3J1bnFfaW5zZXJ0KHN2Yywg JnN2Yy0+cV9lbGVtLCBydW5xKTsKICAgICBlbHNlCiAgICAgICAgIGxpc3RfYWRkKCZzdmMtPnFf ZWxlbSwgJnBydi0+ZGVwbGV0ZWRxKTsKQEAgLTg1Nyw2ICs4OTcsOCBAQCBydF9hbGxvY192ZGF0 YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2Yywgdm9pZCAqZGQp CiAgICAgc3ZjLT52Y3B1ID0gdmM7CiAgICAgc3ZjLT5sYXN0X3N0YXJ0ID0gMDsKIAorICAgIF9f c2V0X2JpdChfX1JURFNfZXh0cmF0aW1lLCAmc3ZjLT5mbGFncyk7CisgICAgc3ZjLT5wcmlvcml0 eV9sZXZlbCA9IDA7CiAgICAgc3ZjLT5wZXJpb2QgPSBSVERTX0RFRkFVTFRfUEVSSU9EOwogICAg IGlmICggIWlzX2lkbGVfdmNwdSh2YykgKQogICAgICAgICBzdmMtPmJ1ZGdldCA9IFJURFNfREVG QVVMVF9CVURHRVQ7CkBAIC05NjYsOCArMTAwOCwxNiBAQCBidXJuX2J1ZGdldChjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCBydF92Y3B1ICpzdmMsIHNfdGltZV90IG5vdykKIAog ICAgIGlmICggc3ZjLT5jdXJfYnVkZ2V0IDw9IDAgKQogICAgIHsKLSAgICAgICAgc3ZjLT5jdXJf YnVkZ2V0ID0gMDsKLSAgICAgICAgX19zZXRfYml0KF9fUlREU19kZXBsZXRlZCwgJnN2Yy0+Zmxh Z3MpOworICAgICAgICBpZiAoIGhhc19leHRyYXRpbWUoc3ZjKSApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHN2Yy0+cHJpb3JpdHlfbGV2ZWwrKzsKKyAgICAgICAgICAgIHN2Yy0+Y3VyX2J1ZGdl dCA9IHN2Yy0+YnVkZ2V0OworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAg ICAgICAgICAgc3ZjLT5jdXJfYnVkZ2V0ID0gMDsKKyAgICAgICAgICAgIF9fc2V0X2JpdChfX1JU RFNfZGVwbGV0ZWQsICZzdmMtPmZsYWdzKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8qIFRS QUNFICovCkBAIC05NzYsMTEgKzEwMjYsMTUgQEAgYnVybl9idWRnZXQoY29uc3Qgc3RydWN0IHNj aGVkdWxlciAqb3BzLCBzdHJ1Y3QgcnRfdmNwdSAqc3ZjLCBzX3RpbWVfdCBub3cpCiAgICAgICAg ICAgICB1bnNpZ25lZCB2Y3B1OjE2LCBkb206MTY7CiAgICAgICAgICAgICB1aW50NjRfdCBjdXJf YnVkZ2V0OwogICAgICAgICAgICAgaW50IGRlbHRhOworICAgICAgICAgICAgdW5zaWduZWQgcHJp b3JpdHlfbGV2ZWw7CisgICAgICAgICAgICBib29sIGhhc19leHRyYXRpbWU7CiAgICAgICAgIH0g ZDsKICAgICAgICAgZC5kb20gPSBzdmMtPnZjcHUtPmRvbWFpbi0+ZG9tYWluX2lkOwogICAgICAg ICBkLnZjcHUgPSBzdmMtPnZjcHUtPnZjcHVfaWQ7CiAgICAgICAgIGQuY3VyX2J1ZGdldCA9ICh1 aW50NjRfdCkgc3ZjLT5jdXJfYnVkZ2V0OwogICAgICAgICBkLmRlbHRhID0gZGVsdGE7CisgICAg ICAgIGQucHJpb3JpdHlfbGV2ZWwgPSBzdmMtPnByaW9yaXR5X2xldmVsOworICAgICAgICBkLmhh c19leHRyYXRpbWUgPSBzdmMtPmZsYWdzICYgUlREU19leHRyYXRpbWU7CiAgICAgICAgIHRyYWNl X3ZhcihUUkNfUlREU19CVURHRVRfQlVSTiwgMSwKICAgICAgICAgICAgICAgICAgIHNpemVvZihk KSwKICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopICZkKTsKQEAgLTEwODgsNyAr MTE0Miw3IEBAIHJ0X3NjaGVkdWxlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc190aW1l X3Qgbm93LCBib29sX3QgdGFza2xldF93b3JrX3NjaGVkCiAgICAgICAgICAgICAgdmNwdV9ydW5u YWJsZShjdXJyZW50KSAmJgogICAgICAgICAgICAgIHNjdXJyLT5jdXJfYnVkZ2V0ID4gMCAmJgog ICAgICAgICAgICAgICggaXNfaWRsZV92Y3B1KHNuZXh0LT52Y3B1KSB8fAotICAgICAgICAgICAg ICAgc2N1cnItPmN1cl9kZWFkbGluZSA8PSBzbmV4dC0+Y3VyX2RlYWRsaW5lICkgKQorICAgICAg ICAgICAgICAgY29tcGFyZV92Y3B1X3ByaW9yaXR5KHNjdXJyLCBzbmV4dCkgPiAwICkgKQogICAg ICAgICAgICAgc25leHQgPSBzY3VycjsKICAgICB9CiAKQEAgLTExOTQsNyArMTI0OCw3IEBAIHJ1 bnFfdGlja2xlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHJ0X3ZjcHUgKm5l dykKICAgICAgICAgfQogICAgICAgICBpdGVyX3N2YyA9IHJ0X3ZjcHUoaXRlcl92Yyk7CiAgICAg ICAgIGlmICggbGF0ZXN0X2RlYWRsaW5lX3ZjcHUgPT0gTlVMTCB8fAotICAgICAgICAgICAgIGl0 ZXJfc3ZjLT5jdXJfZGVhZGxpbmUgPiBsYXRlc3RfZGVhZGxpbmVfdmNwdS0+Y3VyX2RlYWRsaW5l ICkKKyAgICAgICAgICAgICBjb21wYXJlX3ZjcHVfcHJpb3JpdHkoaXRlcl9zdmMsIGxhdGVzdF9k ZWFkbGluZV92Y3B1KSA8IDAgKQogICAgICAgICAgICAgbGF0ZXN0X2RlYWRsaW5lX3ZjcHUgPSBp dGVyX3N2YzsKIAogICAgICAgICBjcHVtYXNrX2NsZWFyX2NwdShjcHUsICZub3RfdGlja2xlZCk7 CkBAIC0xMjAzLDcgKzEyNTcsNyBAQCBydW5xX3RpY2tsZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVy ICpvcHMsIHN0cnVjdCBydF92Y3B1ICpuZXcpCiAKICAgICAvKiAyKSBjYW5kaWNhdGUgaGFzIGhp Z2hlciBwcmlvcml0eSwga2ljayBvdXQgbG93ZXN0IHByaW9yaXR5IHZjcHUgKi8KICAgICBpZiAo IGxhdGVzdF9kZWFkbGluZV92Y3B1ICE9IE5VTEwgJiYKLSAgICAgICAgIG5ldy0+Y3VyX2RlYWRs aW5lIDwgbGF0ZXN0X2RlYWRsaW5lX3ZjcHUtPmN1cl9kZWFkbGluZSApCisgICAgICAgICBjb21w YXJlX3ZjcHVfcHJpb3JpdHkobGF0ZXN0X2RlYWRsaW5lX3ZjcHUsIG5ldykgPCAwICkKICAgICB7 CiAgICAgICAgIFNDSEVEX1NUQVRfQ1JBTksodGlja2xlZF9idXN5X2NwdSk7CiAgICAgICAgIGNw dV90b190aWNrbGUgPSBsYXRlc3RfZGVhZGxpbmVfdmNwdS0+dmNwdS0+cHJvY2Vzc29yOwpAQCAt MTM5NCw2ICsxNDQ4LDEwIEBAIHJ0X2RvbV9jbnRsKAogICAgICAgICAgICAgICAgIHN2YyA9IHJ0 X3ZjcHUoZC0+dmNwdVtsb2NhbF9zY2hlZC52Y3B1aWRdKTsKICAgICAgICAgICAgICAgICBsb2Nh bF9zY2hlZC51LnJ0ZHMuYnVkZ2V0ID0gc3ZjLT5idWRnZXQgLyBNSUNST1NFQ1MoMSk7CiAgICAg ICAgICAgICAgICAgbG9jYWxfc2NoZWQudS5ydGRzLnBlcmlvZCA9IHN2Yy0+cGVyaW9kIC8gTUlD Uk9TRUNTKDEpOworICAgICAgICAgICAgICAgIGlmICggaGFzX2V4dHJhdGltZShzdmMpICkKKyAg ICAgICAgICAgICAgICAgICAgbG9jYWxfc2NoZWQudS5ydGRzLmZsYWdzIHw9IFhFTl9ET01DVExf U0NIRURSVF9leHRyYTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg IGxvY2FsX3NjaGVkLnUucnRkcy5mbGFncyAmPSB+WEVOX0RPTUNUTF9TQ0hFRFJUX2V4dHJhOwog ICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBydi0+bG9jaywgZmxhZ3Mp OwogCiAgICAgICAgICAgICAgICAgaWYgKCBjb3B5X3RvX2d1ZXN0X29mZnNldChvcC0+dS52LnZj cHVzLCBpbmRleCwKQEAgLTE0MTgsNiArMTQ3NiwxMCBAQCBydF9kb21fY250bCgKICAgICAgICAg ICAgICAgICBzdmMgPSBydF92Y3B1KGQtPnZjcHVbbG9jYWxfc2NoZWQudmNwdWlkXSk7CiAgICAg ICAgICAgICAgICAgc3ZjLT5wZXJpb2QgPSBwZXJpb2Q7CiAgICAgICAgICAgICAgICAgc3ZjLT5i dWRnZXQgPSBidWRnZXQ7CisgICAgICAgICAgICAgICAgaWYgKCBsb2NhbF9zY2hlZC51LnJ0ZHMu ZmxhZ3MgJiBYRU5fRE9NQ1RMX1NDSEVEUlRfZXh0cmEgKQorICAgICAgICAgICAgICAgICAgICBf X3NldF9iaXQoX19SVERTX2V4dHJhdGltZSwgJnN2Yy0+ZmxhZ3MpOworICAgICAgICAgICAgICAg IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgX19jbGVhcl9iaXQoX19SVERTX2V4dHJhdGltZSwg JnN2Yy0+ZmxhZ3MpOwogICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBy di0+bG9jaywgZmxhZ3MpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyogUHJvY2VzcyBh IG1vc3QgNjQgdkNQVXMgd2l0aG91dCBjaGVja2luZyBmb3IgcHJlZW1wdGlvbnMuICovCkBAIC0x NDkyLDcgKzE1NTQsNyBAQCBzdGF0aWMgdm9pZCByZXBsX3RpbWVyX2hhbmRsZXIodm9pZCAqZGF0 YSl7CiAgICAgICAgIHsKICAgICAgICAgICAgIHN0cnVjdCBydF92Y3B1ICpuZXh0X29uX3J1bnEg PSBxX2VsZW0ocnVucS0+bmV4dCk7CiAKLSAgICAgICAgICAgIGlmICggc3ZjLT5jdXJfZGVhZGxp bmUgPiBuZXh0X29uX3J1bnEtPmN1cl9kZWFkbGluZSApCisgICAgICAgICAgICBpZiAoIGNvbXBh cmVfdmNwdV9wcmlvcml0eShzdmMsIG5leHRfb25fcnVucSkgPCAwICkKICAgICAgICAgICAgICAg ICBydW5xX3RpY2tsZShvcHMsIG5leHRfb25fcnVucSk7CiAgICAgICAgIH0KICAgICAgICAgZWxz ZSBpZiAoIF9fdGVzdF9hbmRfY2xlYXJfYml0KF9fUlREU19kZXBsZXRlZCwgJnN2Yy0+ZmxhZ3Mp ICYmCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVk ZS9wdWJsaWMvZG9tY3RsLmgKaW5kZXggODg1MzQ0NS4uNzAwMjdhYiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwu aApAQCAtMzQyLDYgKzM0MiwxMCBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9zY2hlZF9jcmVkaXQyIHsK IHN0cnVjdCB4ZW5fZG9tY3RsX3NjaGVkX3J0ZHMgewogICAgIHVpbnQzMl90IHBlcmlvZDsKICAg ICB1aW50MzJfdCBidWRnZXQ7CisvKiBDYW4gdGhpcyB2Q1BVIGV4ZWN1dGUgYmV5b25kIGl0cyBy ZXNlcnZlZCBhbW91bnQgb2YgdGltZT8gKi8KKyNkZWZpbmUgX1hFTl9ET01DVExfU0NIRURSVF9l eHRyYSAgIDAKKyNkZWZpbmUgWEVOX0RPTUNUTF9TQ0hFRFJUX2V4dHJhICAgICgxVTw8X1hFTl9E T01DVExfU0NIRURSVF9leHRyYSkKKyAgICB1aW50MzJfdCBmbGFnczsKIH07CiAKIHR5cGVkZWYg c3RydWN0IHhlbl9kb21jdGxfc2NoZWRwYXJhbV92Y3B1IHsKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==