From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH 1/3] x86/PoD: correctly handle non-order-0 decrease-reservation requests Date: Thu, 7 Dec 2017 12:56:25 +0000 Message-ID: References: <5A25364E0200007800194503@prv-mh.provo.novell.com> <5A253A2B0200007800194517@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMvj8-00073d-K3 for xen-devel@lists.xenproject.org; Thu, 07 Dec 2017 12:56:34 +0000 In-Reply-To: <5A253A2B0200007800194517@prv-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jan Beulich , xen-devel Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall List-Id: xen-devel@lists.xenproject.org T24gMTIvMDQvMjAxNyAxMTowNiBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gcDJtX3BvZF9kZWNy ZWFzZV9yZXNlcnZhdGlvbigpIHJldHVybmluZyBqdXN0IChub3QpIGFsbC1kb25lIGlzIG5vdAo+ IHN1ZmZpY2llbnQgZm9yIHRoZSBjYWxsZXI6IElmIHNvbWUgcGFnZXMgd2VyZSBwcm9jZXNzZWQs Cj4gZ3Vlc3RfcmVtb3ZlX3BhZ2UoKSByZXR1cm5pbmcgYW4gZXJyb3IgZm9yIHRob3NlIHBhZ2Vz IGlzIHRoZSBleHBlY3RlZAo+IHJlc3VsdCByYXRoZXIgdGhhbiBhbiBpbmRpY2F0aW9uIG9mIGEg cHJvYmxlbS4gTWFrZSBndWVzdF9yZW1vdmVfcGFnZSgpCj4gcmV0dXJuIGEgZGlzdGluY3QgZXJy b3IgY29kZSBmb3IgdGhpcyB2ZXJ5IGNhc2UsIGFuZCBzcGVjaWFsIGNhc2UKPiBoYW5kbGluZyBp biBjYXNlIG9mIHNlZWluZyB0aGlzIGVycm9yIGNvZGUgaW4gZGVjcmVhc2VfcmVzZXJ2YXRpb24o KS4KClRoZSBzb2x1dGlvbiBpcyBnb29kLCBidXQgSSB0aGluayBpdCBuZWVkcyBtb3JlIGNvbW1l bnRzIGFuZCBhIGJldHRlcgpleHBsYW5hdGlvbi4KCkhvdyBhYm91dDoKCi0tLQpwMm1fcG9kX2Rl Y3JlYXNlX3Jlc2VydmF0aW9uKCkgYXQgdGhlIG1vbWVudCBvbmx5IHJldHVybnMgYSBib29sZWFu CnZhbHVlOiB0cnVlIGZvciAibm90aGluZyBtb3JlIHRvIGRvIiwgZmFsc2UgZm9yICJzb21ldGhp bmcgbW9yZSB0byBkbyIuCklmIGl0IHJldHVybnMgZmFsc2UsIGRlY3JlYXNlX3Jlc2VydmF0aW9u KCkgd2lsbCBsb29wIG92ZXIgdGhlIGVudGlyZQpyYW5nZSwgY2FsbGluZyBndWVzdF9yZW1vdmVf cGFnZSgpIGZvciBlYWNoIHBhZ2UuCgpVbmZvcnR1bmF0ZWx5LCBpbiB0aGUgY2FzZSBwMm1fcG9k X2RlY3JlYXNlX3Jlc2VydmF0aW9uKCkgc3VjY2VlZHMKcGFydGlhbGx5LCBzb21lIG9mIHRoZSBt ZW1vcnkgaW4gdGhlIHJhbmdlIHdpbGwgYmUgbm90LXByZXNlbnQ7IGF0IHdoaWNoCnBvaW50IGd1 ZXN0X3JlbW92ZV9wYWdlKCkgd2lsbCByZXR1cm4gYW4gZXJyb3IsIGFuZCB0aGUgZW50aXJlIG9w ZXJhdGlvbgp3aWxsIGZhaWwuCgpGaXggdGhpcyBieToKMS4gSGF2aW5nIHAybV9wb2RfZGVjcmVh c2VfcmVzZXJ2YXRpb24oKSByZXR1cm4gZXhhY3RseSB0aGUgbnVtYmVyIG9mCmdwZm4gcGFnZXMg aXQgaGFzIGhhbmRsZWQgKGkuZS4sIHJlcGxhY2VkIHdpdGggJ25vdCBwcmVzZW50JykKMi4gTWFr aW5nIGd1ZXN0X3JlbW92ZV9wYWdlKCkgcmV0dXJuIC1FTk9FTlQgaW4gdGhlIGNhc2UgdGhhdCB0 aGUgZ3BmbgppbiBxdWVzdGlvbiB3YXMgYWxyZWFkeSBlbXB0eSAoYW5kIGluIG5vIG90aGVyIGNh c2VzKQozLiBXaGVuIGxvb3Bpbmcgb3ZlciBndWVzdF9yZW1vdmVfcGFnZSgpLCBleHBlY3QgdGhl IG51bWJlciBvZiAtRU5PRU5UCmZhaWx1cmVzIHRvIGJlIGV4YWN0bHkgZXF1YWwgdG8gdGhlIG51 bWJlciBvZiBwYWdlcwpwMm1fcG9kX2RlY3JlYXNlX3Jlc2VydmF0aW9uKCkgcmVtb3ZlZC4KLS0t Cgo+IAo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiAK PiAtLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKPiBA QCAtMzkzLDEwICszOTMsMTAgQEAgaW50IGd1ZXN0X3BoeXNtYXBfbWFya19wb3B1bGF0ZV9vbl9k ZW1hbgo+ICAgICAgcmV0dXJuIC1FTk9TWVM7Cj4gIH0KPiAgCj4gLWludCBwMm1fcG9kX2RlY3Jl YXNlX3Jlc2VydmF0aW9uKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9yZGVyKQo+ICt1bnNpZ25lZCBs b25nIHAybV9wb2RfZGVjcmVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3Qg Z2ZuLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IG9yZGVyKQo+ICB7Cj4gLSAgICByZXR1cm4gLUVOT1NZUzsKPiArICAgIHJldHVybiAw Owo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBwMm1fc2V0X3Blcm1pc3Npb24obHBhZV90ICplLCBw Mm1fdHlwZV90IHQsIHAybV9hY2Nlc3NfdCBhKQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0t cG9kLmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCj4gQEAgLTUxMCwxMSArNTEw LDEwIEBAIHAybV9wb2RfemVyb19jaGVja19zdXBlcnBhZ2Uoc3RydWN0IHAybV8KPiAgICogT25j ZSBib3RoIG9mIHRoZXNlIGZ1bmN0aW9ucyBoYXZlIGJlZW4gY29tcGxldGVkLCB3ZSBjYW4gcmV0 dXJuIGFuZAo+ICAgKiBhbGxvdyBkZWNyZWFzZV9yZXNlcnZhdGlvbigpIHRvIGhhbmRsZSBldmVy eXRoaW5nIGVsc2UuCj4gICAqLwo+IC1pbnQKPiArdW5zaWduZWQgbG9uZwo+ICBwMm1fcG9kX2Rl Y3JlYXNlX3Jlc2VydmF0aW9uKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgdW5zaWduZWQg aW50IG9yZGVyKQo+ICB7Cj4gLSAgICBpbnQgcmV0ID0gMDsKPiAtICAgIHVuc2lnbmVkIGxvbmcg aSwgbjsKPiArICAgIHVuc2lnbmVkIGxvbmcgcmV0ID0gMCwgaSwgbjsKPiAgICAgIHN0cnVjdCBw Mm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7Cj4gICAgICBib29sX3Qgc3RlYWxf Zm9yX2NhY2hlOwo+ICAgICAgbG9uZyBwb2QsIG5vbnBvZCwgcmFtOwo+IEBAIC01NzcsOSArNTc2 LDkgQEAgcDJtX3BvZF9kZWNyZWFzZV9yZXNlcnZhdGlvbihzdHJ1Y3QgZG9tYQo+ICAgICAgICAg ICAgICAgICAgZG9tYWluX2NyYXNoKGQpOwo+ICAgICAgICAgICAgICBnb3RvIG91dF91bmxvY2s7 Cj4gICAgICAgICAgfQo+IC0gICAgICAgIHAybS0+cG9kLmVudHJ5X2NvdW50IC09IDFVTCA8PCBv cmRlcjsKPiArICAgICAgICByZXQgPSAxVUwgPDwgb3JkZXI7Cj4gKyAgICAgICAgcDJtLT5wb2Qu ZW50cnlfY291bnQgLT0gcmV0Owo+ICAgICAgICAgIEJVR19PTihwMm0tPnBvZC5lbnRyeV9jb3Vu dCA8IDApOwo+IC0gICAgICAgIHJldCA9IDE7Cj4gICAgICAgICAgZ290byBvdXRfZW50cnlfY2hl Y2s7Cj4gICAgICB9Cj4gIAo+IEBAIC02MzAsNiArNjI5LDcgQEAgcDJtX3BvZF9kZWNyZWFzZV9y ZXNlcnZhdGlvbihzdHJ1Y3QgZG9tYQo+ICAgICAgICAgICAgICBwMm0tPnBvZC5lbnRyeV9jb3Vu dCAtPSBuOwo+ICAgICAgICAgICAgICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAwKTsK PiAgICAgICAgICAgICAgcG9kIC09IG47Cj4gKyAgICAgICAgICAgIHJldCArPSBuOwo+ICAgICAg ICAgIH0KPiAgICAgICAgICBlbHNlIGlmICggc3RlYWxfZm9yX2NhY2hlICYmIHAybV9pc19yYW0o dCkgKQo+ICAgICAgICAgIHsKPiBAQCAtNjY0LDE2ICs2NjQsMTAgQEAgcDJtX3BvZF9kZWNyZWFz ZV9yZXNlcnZhdGlvbihzdHJ1Y3QgZG9tYQo+ICAKPiAgICAgICAgICAgICAgbm9ucG9kIC09IG47 Cj4gICAgICAgICAgICAgIHJhbSAtPSBuOwo+ICsgICAgICAgICAgICByZXQgKz0gbjsKPiAgICAg ICAgICB9Cj4gICAgICB9Cj4gIAo+IC0gICAgLyoKPiAtICAgICAqIElmIHRoZXJlIGFyZSBubyBt b3JlIG5vbi1Qb0QgZW50cmllcywgdGVsbCBkZWNyZWFzZV9yZXNlcnZhdGlvbigpIHRoYXQKPiAt ICAgICAqIHRoZXJlJ3Mgbm90aGluZyBsZWZ0IHRvIGRvLgo+IC0gICAgICovCj4gLSAgICBpZiAo IG5vbnBvZCA9PSAwICkKPiAtICAgICAgICByZXQgPSAxOwo+IC0KPiAgb3V0X2VudHJ5X2NoZWNr Ogo+ICAgICAgLyogSWYgd2UndmUgcmVkdWNlZCBvdXIgImxpYWJpbGl0aWVzIiBiZXlvbmQgb3Vy ICJhc3NldHMiLCBmcmVlIHNvbWUgKi8KPiAgICAgIGlmICggcDJtLT5wb2QuZW50cnlfY291bnQg PCBwMm0tPnBvZC5jb3VudCApCj4gLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYwo+ICsrKyBiL3hl bi9jb21tb24vbWVtb3J5LmMKPiBAQCAtMjg0LDEzICsyODQsMTUgQEAgaW50IGd1ZXN0X3JlbW92 ZV9wYWdlKHN0cnVjdCBkb21haW4gKmQsCj4gIAo+ICAjaWZkZWYgQ09ORklHX1g4Ngo+ICAgICAg bWZuID0gZ2V0X2dmbl9xdWVyeShkLCBnbWZuLCAmcDJtdCk7Cj4gKyAgICBpZiAoIHVubGlrZWx5 KHAybXQgPT0gcDJtX2ludmFsaWQpIHx8IHVubGlrZWx5KHAybXQgPT0gcDJtX21taW9fZG0pICkK PiArICAgICAgICByZXR1cm4gLUVOT0VOVDsKPiAgICAgIGlmICggdW5saWtlbHkocDJtX2lzX3Bh Z2luZyhwMm10KSkgKQo+ICAgICAgewo+ICAgICAgICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9yZW1v dmVfcGFnZShkLCBfZ2ZuKGdtZm4pLCBtZm4sIDApOwo+IC0gICAgICAgIHB1dF9nZm4oZCwgZ21m bik7Cj4gLQo+ICAgICAgICAgIGlmICggcmMgKQo+IC0gICAgICAgICAgICByZXR1cm4gcmM7Cj4g KyAgICAgICAgICAgIGdvdG8gb3V0X3B1dF9nZm47Cj4gKwo+ICsgICAgICAgIHB1dF9nZm4oZCwg Z21mbik7Cj4gIAo+ICAgICAgICAgIC8qIElmIHRoZSBwYWdlIGhhc24ndCB5ZXQgYmVlbiBwYWdl ZCBvdXQsIHRoZXJlIGlzIGFuCj4gICAgICAgICAgICogYWN0dWFsIHBhZ2UgdGhhdCBuZWVkcyB0 byBiZSByZWxlYXNlZC4gKi8KPiBAQCAtMzA4LDkgKzMxMCw3IEBAIGludCBndWVzdF9yZW1vdmVf cGFnZShzdHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgaWYgKCBwMm10ID09IHAybV9tbWlvX2RpcmVj dCApCj4gICAgICB7Cj4gICAgICAgICAgcmMgPSBjbGVhcl9tbWlvX3AybV9lbnRyeShkLCBnbWZu LCBtZm4sIFBBR0VfT1JERVJfNEspOwo+IC0gICAgICAgIHB1dF9nZm4oZCwgZ21mbik7Cj4gLQo+ IC0gICAgICAgIHJldHVybiByYzsKPiArICAgICAgICBnb3RvIG91dF9wdXRfZ2ZuOwo+ICAgICAg fQo+ICAjZWxzZQo+ICAgICAgbWZuID0gZ2ZuX3RvX21mbihkLCBfZ2ZuKGdtZm4pKTsKPiBAQCAt MzM1LDEwICszMzUsOCBAQCBpbnQgZ3Vlc3RfcmVtb3ZlX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwK PiAgICAgICAgICByYyA9IG1lbV9zaGFyaW5nX3Vuc2hhcmVfcGFnZShkLCBnbWZuLCAwKTsKPiAg ICAgICAgICBpZiAoIHJjICkKPiAgICAgICAgICB7Cj4gLSAgICAgICAgICAgIHB1dF9nZm4oZCwg Z21mbik7Cj4gICAgICAgICAgICAgICh2b2lkKW1lbV9zaGFyaW5nX25vdGlmeV9lbm9tZW0oZCwg Z21mbiwgMCk7Cj4gLQo+IC0gICAgICAgICAgICByZXR1cm4gcmM7Cj4gKyAgICAgICAgICAgIGdv dG8gb3V0X3B1dF9nZm47Cj4gICAgICAgICAgfQo+ICAgICAgICAgIC8qIE1heWJlIHRoZSBtZm4g Y2hhbmdlZCAqLwo+ICAgICAgICAgIG1mbiA9IGdldF9nZm5fcXVlcnlfdW5sb2NrZWQoZCwgZ21m biwgJnAybXQpOwo+IEBAIC0zNzUsOSArMzczLDEwIEBAIGludCBndWVzdF9yZW1vdmVfcGFnZShz dHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwo+ICAKPiAgICAgIHB1 dF9wYWdlKHBhZ2UpOwo+ICsgb3V0X3B1dF9nZm46IF9fbWF5YmVfdW51c2VkCj4gICAgICBwdXRf Z2ZuKGQsIGdtZm4pOwo+ICAKPiAtICAgIHJldHVybiByYzsKPiArICAgIHJldHVybiByYyAhPSAt RU5PRU5UID8gcmMgOiAtRUlOVkFMOwoKLyoKICogRmlsdGVyIG91dCAtRU5PRU5UIHJldHVybiB2 YWx1ZXMgdGhhdCBhcmVuJ3QgYSByZXN1bHQgb2YgYW4KICogZW1wdHkgcDJtIGVudHJ5CiAqLwoK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZGVjcmVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IG1lbW9w X2FyZ3MgKmEpCj4gQEAgLTM5Miw2ICszOTEsOCBAQCBzdGF0aWMgdm9pZCBkZWNyZWFzZV9yZXNl cnZhdGlvbihzdHJ1Y3QKPiAgCj4gICAgICBmb3IgKCBpID0gYS0+bnJfZG9uZTsgaSA8IGEtPm5y X2V4dGVudHM7IGkrKyApCj4gICAgICB7Cj4gKyAgICAgICAgdW5zaWduZWQgbG9uZyBwb2RfZG9u ZTsKPiArCj4gICAgICAgICAgaWYgKCBpICE9IGEtPm5yX2RvbmUgJiYgaHlwZXJjYWxsX3ByZWVt cHRfY2hlY2soKSApCj4gICAgICAgICAgewo+ICAgICAgICAgICAgICBhLT5wcmVlbXB0ZWQgPSAx Owo+IEBAIC00MTYsMTQgKzQxNywyNSBAQCBzdGF0aWMgdm9pZCBkZWNyZWFzZV9yZXNlcnZhdGlv bihzdHJ1Y3QKPiAgICAgICAgICB9Cj4gIAo+ICAgICAgICAgIC8qIFNlZSBpZiBwb3B1bGF0ZS1v bi1kZW1hbmQgd2FudHMgdG8gaGFuZGxlIHRoaXMgKi8KPiAtICAgICAgICBpZiAoIGlzX2h2bV9k b21haW4oYS0+ZG9tYWluKQo+IC0gICAgICAgICAgICAgJiYgcDJtX3BvZF9kZWNyZWFzZV9yZXNl cnZhdGlvbihhLT5kb21haW4sIF9nZm4oZ21mbiksCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGEtPmV4dGVudF9vcmRlcikgKQo+IC0gICAgICAgICAgICBj b250aW51ZTsKPiArICAgICAgICBwb2RfZG9uZSA9IGlzX2h2bV9kb21haW4oYS0+ZG9tYWluKSA/ Cj4gKyAgICAgICAgICAgICAgICAgICBwMm1fcG9kX2RlY3JlYXNlX3Jlc2VydmF0aW9uKGEtPmRv bWFpbiwgX2dmbihnbWZuKSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYS0+ZXh0ZW50X29yZGVyKSA6IDA7Cj4gIAo+IC0gICAgICAgIGZvciAoIGog PSAwOyBqIDwgKDEgPDwgYS0+ZXh0ZW50X29yZGVyKTsgaisrICkKPiAtICAgICAgICAgICAgaWYg KCBndWVzdF9yZW1vdmVfcGFnZShhLT5kb21haW4sIGdtZm4gKyBqKSApCgovKgogKiBMb29rIGZv ciBwYWdlcyBub3QgaGFuZGxlZCBieSBwMm1fcG9kX2RlY3JlYXNlX3Jlc2VydmF0aW9uKCkuCiAq CiAqIGd1ZXN0X3JlbW92ZV9wYWdlKCkgd2lsbCByZXR1cm4gLUVOT0VOVCBmb3IgcGFnZXMgd2hp Y2ggaGF2ZSBhbHJlYWR5CiAqIGJlZW4gcmVtb3ZlZCBieSBwMm1fcG9kX2RlY3JlYXNlX3Jlc2Vy dmF0aW9uKCk7IHNvIGV4cGVjdCB0byBzZWUKICogZXhhY3RseSBwb2RfZG9uZSBmYWlsdXJlcy4g IEFueSBtb3JlIG1lYW5zIHRoYXQgdGhlcmUgd2VyZSBpbnZhbGlkCiAqIGVudHJpZXMgYmVmb3Jl IHAybV9wb2RfZGVjcmVhc2VfcmVzZXJ2YXRpb24oKSB3YXMgY2FsbGVkLgogKi8KCj4gKyAgICAg ICAgZm9yICggaiA9IDA7IGogKyBwb2RfZG9uZSA8ICgxVUwgPDwgYS0+ZXh0ZW50X29yZGVyKTsg aisrICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIHN3aXRjaCAoIGd1ZXN0X3JlbW92ZV9w YWdlKGEtPmRvbWFpbiwgZ21mbiArIGopICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAg ICBjYXNlIDA6Cj4gKyAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgY2FzZSAt RU5PRU5UOgo+ICsgICAgICAgICAgICAgICAgaWYgKCAhcG9kX2RvbmUgKQo+ICsgICAgICAgICAg ICAgICAgICAgIGdvdG8gb3V0Owo+ICsgICAgICAgICAgICAgICAgLS1wb2RfZG9uZTsKPiArICAg ICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICBkZWZhdWx0Ogo+ICAgICAgICAgICAg ICAgICAgZ290byBvdXQ7Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gICAgICB9CgpX aGF0IGFib3V0OgoKQVNTRVJUKHBvZF9kb25lID09IDApOwoKVGhhbmtzLAogLUdlb3JnZQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==