From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v6 3/4] x86/ioreq server: Handle read-modify-write cases for p2m_ioreq_server pages. Date: Mon, 05 Sep 2016 08:10:05 -0600 Message-ID: <57CD98DD020000780010BD13@prv-mh.provo.novell.com> References: <1472813240-11011-1-git-send-email-yu.c.zhang@linux.intel.com> <1472813240-11011-4-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1472813240-11011-4-git-send-email-yu.c.zhang@linux.intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Yu Zhang Cc: Andrew Cooper , Paul Durrant , zhiyuan.lv@intel.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDAyLjA5LjE2IGF0IDEyOjQ3LCA8eXUuYy56aGFuZ0BsaW51eC5pbnRlbC5jb20+IHdy b3RlOgo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCj4gKysrIGIveGVuL2FyY2gv eDg2L2h2bS9lbXVsYXRlLmMKPiBAQCAtOTUsNiArOTUsNDEgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBodm1faW9faGFuZGxlciBudWxsX2hhbmRsZXIgPSB7Cj4gICAgICAub3BzID0gJm51bGxfb3Bz Cj4gIH07Cj4gIAo+ICtzdGF0aWMgaW50IG1lbV9yZWFkKGNvbnN0IHN0cnVjdCBodm1faW9faGFu ZGxlciAqaW9faGFuZGxlciwKPiArICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBhZGRyLAo+ ICsgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNpemUsCj4gKyAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgKmRhdGEpCj4gK3sKPiArICAgIHN0cnVjdCBkb21haW4gKmN1cnJkID0gY3Vy cmVudC0+ZG9tYWluOwo+ICsgICAgdW5zaWduZWQgbG9uZyBnbWZuID0gcGFkZHJfdG9fcGZuKGFk ZHIpOwo+ICsgICAgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBhZGRyICYgflBBR0VfTUFTSzsKPiAr ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dmbihjdXJyZCwgZ21m biwgTlVMTCwgUDJNX1VOU0hBUkUpOwo+ICsgICAgdWludDhfdCAqcDsKCmNvbnN0IChhbmQgcHJl ZmVyYWJseSBhbHNvIHZvaWQpCgo+ICsgICAgQVNTRVJUKG9mZnNldCArIHNpemUgPCBQQUdFX1NJ WkUpOwoKU3VyZWx5IDw9ID8KCj4gKyAgICBpZiAoICFwYWdlICkKPiArICAgICAgICByZXR1cm4g WDg2RU1VTF9VTkhBTkRMRUFCTEU7Cj4gKwo+ICsgICAgcCA9IF9fbWFwX2RvbWFpbl9wYWdlKHBh Z2UpOwo+ICsgICAgcCArPSBvZmZzZXQ7Cj4gKyAgICBtZW1jcHkoZGF0YSwgcCwgc2l6ZSk7Cj4g Kwo+ICsgICAgdW5tYXBfZG9tYWluX3BhZ2UocCk7Cj4gKyAgICBwdXRfcGFnZShwYWdlKTsKCkJ1 dCBhbnl3YXkgLSBJIHRoaW5rIHJhdGhlciB0aGFuIGFsbCB0aGlzIG9wZW4gY29kaW5nIHlvdSB3 b3VsZApiZXR0ZXIgY2FsbCBodm1fY29weV9mcm9tX2d1ZXN0X3BoeXMoKS4KCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaHZtX2lvX29wcyBtZW1fb3BzID0gewo+ICsgICAgLnJlYWQgPSBtZW1fcmVh ZCwKPiArICAgIC53cml0ZSA9IG51bGxfd3JpdGUKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgaHZtX2lvX2hhbmRsZXIgbWVtX2hhbmRsZXIgPSB7Cj4gKyAgICAub3BzID0gJm1lbV9v cHMKPiArfTsKCkkgdGhpbmsgdGhlIG1lbV8gcHJlZml4IGZvciBib3RoIG9iamVjdHMgaXMgYSBi YWQgb25lLCBjb25zaWRlcmluZwp0aGF0IHRoaXMgaXNuJ3Qgc3VpdGFibGUgZm9yIGdlbmVyYWwg bWVtb3J5IGhhbmRsaW5nLgoKPiBAQCAtMjA0LDcgKzIzOSwxNSBAQCBzdGF0aWMgaW50IGh2bWVt dWxfZG9faW8oCj4gICAgICAgICAgLyogSWYgdGhlcmUgaXMgbm8gc3VpdGFibGUgYmFja2luZyBE TSwganVzdCBpZ25vcmUgYWNjZXNzZXMgKi8KPiAgICAgICAgICBpZiAoICFzICkKPiAgICAgICAg ICB7Cj4gLSAgICAgICAgICAgIHJjID0gaHZtX3Byb2Nlc3NfaW9faW50ZXJjZXB0KCZudWxsX2hh bmRsZXIsICZwKTsKPiArICAgICAgICAgICAgLyoKPiArICAgICAgICAgICAgICogRm9yIHAybV9p b3JlcV9zZXJ2ZXIgcGFnZXMgYWNjZXNzZWQgd2l0aCByZWFkLW1vZGlmeS13cml0ZQo+ICsgICAg ICAgICAgICAgKiBpbnN0cnVjdGlvbnMsIHdlIHByb3ZpZGUgYSByZWFkIGhhbmRsZXIgdG8gY29w eSB0aGUgZGF0YSB0bwo+ICsgICAgICAgICAgICAgKiB0aGUgYnVmZmVyLgo+ICsgICAgICAgICAg ICAgKi8KPiArICAgICAgICAgICAgaWYgKCBwMm10ID09IHAybV9pb3JlcV9zZXJ2ZXIgKQoKUGxl YXNlIGFkZCB1bmxpa2VseSgpIGhlcmUsIG9yIGFpZCB0aGUgY29tcGlsZXIgaW4gYXZvaWRpbmcg YW55CmJyYW5jaCBieSAuLi4KCj4gKyAgICAgICAgICAgICAgICByYyA9IGh2bV9wcm9jZXNzX2lv X2ludGVyY2VwdCgmbWVtX2hhbmRsZXIsICZwKTsKPiArICAgICAgICAgICAgZWxzZQo+ICsgICAg ICAgICAgICAgICAgcmMgPSBodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQoJm51bGxfaGFuZGxlciwg JnApOwoKLi4uIHVzaW5nIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBmb3IgdGhlIGZpcnN0IGZ1 bmN0aW9uIGFyZ3VtZW50LgoKQW5kIHRoZSBjb21tZW50IGFoZWFkIG9mIHRoZSBpZigpIG5vdyBh bHNvIG5lZWRzIGFkanVzdG1lbnQKKHBlcmhhcHMgeW91IHdhbnQgdG8gbWVyZ2UgdGhlIG9uZSB5 b3UgYWRkIGludG8gdGhhdCBvbmUpLgoKSmFuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==