From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH RFC v2 3/3] xen: rework paging_log_dirty_op to work with hvm guests Date: Thu, 2 Apr 2015 20:46:33 +0100 Message-ID: <551D9C99.4070107@citrix.com> References: <1427970395-16203-1-git-send-email-roger.pau@citrix.com> <1427970395-16203-4-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Ydl4b-0007l7-0F for xen-devel@lists.xenproject.org; Thu, 02 Apr 2015 19:46:41 +0000 In-Reply-To: <1427970395-16203-4-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Roger Pau Monne , xen-devel@lists.xenproject.org Cc: Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gMDIvMDQvMTUgMTE6MjYsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToKPiBXaGVuIHRoZSBjYWxs ZXIgb2YgcGFnaW5nX2xvZ19kaXJ0eV9vcCBpcyBhIGh2bSBndWVzdCBYZW4gd291bGQgY2hva2Ug d2hlbgo+IHRyeWluZyB0byBjb3B5IHRoZSBkaXJ0eSBiaXRtYXAgdG8gdGhlIGd1ZXN0IGJlY2F1 c2UgdGhlIHBhZ2luZyBsb2NrIGlzCj4gYWxyZWFkeSBoZWxkLgoKQXJlIHlvdSBzdXJlPyBQcmVz dW1hYmx5IHlvdSBnZXQgYW4gbW0gbG9jayBvcmRlcmluZyB2aW9sYXRpb24sIGJlY2F1c2UKcGFn aW5nX2xvZ19kaXJ0eV9vcCgpIHNob3VsZCB0YWtlIHRoZSB0YXJnZXQgZG9tYWlucyBwYWdpbmcg bG9jaywgcmF0aGVyCnRoYW4geW91ciBvd24gKHdoaWNoIGlzIHByb2hpYml0ZWQgYnkgdGhlIGN1 cnJlbnQgY2hlY2sgYXQgdGhlIHRvcCBvZgpwYWdpbmdfZG9tY3RsKCkpLgoKVW5mb3J0dW5hdGVs eSwgZHJvcHBpbmcgdGhlIHBhZ2luZ19sb2NrKCkgaGVyZSBpcyB1bnNhZmUsIGFzIGl0IHdpbGwK cmVzdWx0IGluIGNvcnJ1cHRpb24gb2YgdGhlIGxvZ2RpcnR5IGJpdG1hcCBmcm9tIG5vbi1kb21h aW4gc291cmNlcyBzdWNoCmFzIEhWTU9QX21vZGlmaWVkX21lbW9yeS4KCkkgd2lsbCBuZWVkIHRv IGZpbmQgc29tZSB0aW1lIHdpdGggYSBsYXJnZSBwb3Qgb2YgY29mZmVlIGFuZCBhCndoaXRlYm9h cmQsIGJ1dCBJIHN1c3BlY3QgaXQgbWlnaHQgYWN0dWFsbHkgYmUgc2FmZSB0byBhbHRlciB0aGUg Y3VycmVudAptbV9sb2NrKCkgZW5mb3JjZW1lbnQgdG8gbWFpbnRhaW4gaW5kZXBlbmRlbnQgbGV2 ZWxzIGZvciBhIHNvdXJjZSBhbmQKZGVzdGluYXRpb24gZG9tYWluLgoKVXAgdW50aWwgbm93LCB0 aGUgdG9vbHN0YWNrIGRvbWFpbiBoYXMgYWx3YXlzIGJlZW4gUFYgKHdpdGggdmVyeSBsaXR0bGUK aW4gdGhlIHdheSBvZiBsb2NraW5nKSwgYW5kIEkgZG9uJ3QgYmVsaWV2ZSBvdXIgY3VycmVudCBs b2NraW5nIG1vZGVsIGlzCnN1aXRhYmxlIGZvciBhbiBIVk0gZG9tYWluIHBlcmZvcm1pbmcgdG9v bHN0YWNrIG9wZXJhdGlvbnMgb24gYW5vdGhlciwKd2hlcmUgYm90aCB0aGUgc291cmNlIGFuZCBk ZXN0aW5hdGlvbiBuZWVkIGxvY2tpbmcuCgp+QW5kcmV3Cgo+Cj4gRml4IHRoaXMgYnkgaW5kZXBl bmRlbnRseSBtYXBwaW5nIGVhY2ggcGFnZSBvZiB0aGUgZ3Vlc3QgYml0bWFwIGFzIG5lZWRlZAo+ IHdpdGhvdXQgdGhlIHBhZ2luZyBsb2NrIGhlbGQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KPiBDYzogVGltIERlZWdhbiA8dGltQHhl bi5vcmc+Cj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiBDYzogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiAtLS0KPiAgeGVuL2FyY2gveDg2 L21tL3BhZ2luZy5jIHwgOTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKPgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMgYi94ZW4vYXJj aC94ODYvbW0vcGFnaW5nLmMKPiBpbmRleCBiNTRkNzZhLi40ZGNmOTQyIDEwMDY0NAo+IC0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcu Ywo+IEBAIC0zOTcsNiArMzk3LDUzIEBAIGludCBwYWdpbmdfbWZuX2lzX2RpcnR5KHN0cnVjdCBk b21haW4gKmQsIG1mbl90IGdtZm4pCj4gICAgICByZXR1cm4gcnY7Cj4gIH0KPiAgCj4gK3N0YXRp YyBpbmxpbmUgdm9pZCAqbWFwX2RpcnR5X2JpdG1hcChYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4 KSBkaXJ0eV9iaXRtYXAsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIHBhZ2VzLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHBhZ2VfaW5mbyAqKnBhZ2UsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nICptYXBwZWRfcGFnZSkKPiArewo+ICsgICAgcDJtX3R5 cGVfdCBwMm10Owo+ICsgICAgdWludDMyX3QgcGZlYzsKPiArICAgIHVuc2lnbmVkIGxvbmcgZ2Zu Owo+ICsKPiArICAgIGdmbiA9IHBhZ2luZ19ndmFfdG9fZ2ZuKGN1cnJlbnQsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAocGFkZHJfdCkoKChjaGFyICopZGlydHlfYml0bWFwLnApICsg KHBhZ2VzID4+IDMpKSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZmVjKTsKPiAr ICAgIGlmICggZ2ZuID09IElOVkFMSURfR0ZOICkKPiArICAgICAgICByZXR1cm4gTlVMTDsKPiAr Cj4gKyAgICAqcGFnZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGN1cnJlbnQtPmRvbWFpbiwgZ2ZuLCAm cDJtdCwgUDJNX1VOU0hBUkUpOwo+ICsKPiArICAgIGlmICggcDJtX2lzX3BhZ2luZyhwMm10KSAp Cj4gKyAgICB7Cj4gKyAgICAgICAgcHV0X3BhZ2UoKnBhZ2UpOwo+ICsgICAgICAgIHAybV9tZW1f cGFnaW5nX3BvcHVsYXRlKGN1cnJlbnQtPmRvbWFpbiwgZ2ZuKTsKPiArICAgICAgICByZXR1cm4g TlVMTDsKPiArICAgIH0KPiArICAgIGlmICggcDJtX2lzX3NoYXJlZChwMm10KSApCj4gKyAgICB7 Cj4gKyAgICAgICAgcHV0X3BhZ2UoKnBhZ2UpOwo+ICsgICAgICAgIHJldHVybiBOVUxMOwo+ICsg ICAgfQo+ICsgICAgaWYgKCBwMm1faXNfZ3JhbnQocDJtdCkgKQo+ICsgICAgewo+ICsgICAgICAg IHB1dF9wYWdlKCpwYWdlKTsKPiArICAgICAgICByZXR1cm4gTlVMTDsKPiArICAgIH0KPiArCj4g KyAgICAqbWFwcGVkX3BhZ2UgPSBwYWdlczsKPiArICAgIHJldHVybiBfX21hcF9kb21haW5fcGFn ZSgqcGFnZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB1bm1hcF9kaXJ0eV9iaXRt YXAodm9pZCAqYWRkciwgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKPiArewo+ICsgICAgaWYgKCBh ZGRyICE9IE5VTEwgKQo+ICsgICAgewo+ICsgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGFkZHIp Owo+ICsgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICAKPiAgLyog UmVhZCBhIGRvbWFpbidzIGxvZy1kaXJ0eSBiaXRtYXAgYW5kIHN0YXRzLiAgSWYgdGhlIG9wZXJh dGlvbiBpcyBhIENMRUFOLAo+ICAgKiBjbGVhciB0aGUgYml0bWFwIGFuZCBzdGF0cyBhcyB3ZWxs LiAqLwo+IEBAIC00MDksOSArNDU2LDIzIEBAIHN0YXRpYyBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9v cChzdHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgbWZuX3QgKmw0ID0gTlVMTCwgKmwzID0gTlVMTCwg KmwyID0gTlVMTDsKPiAgICAgIHVuc2lnbmVkIGxvbmcgKmwxID0gTlVMTDsKPiAgICAgIGludCBp NCwgaTMsIGkyOwo+ICsgICAgdWludDhfdCAqZGlydHlfYml0bWFwID0gTlVMTDsKPiArICAgIHN0 cnVjdCBwYWdlX2luZm8gKnBhZ2U7Cj4gKyAgICB1bnNpZ25lZCBsb25nIGluZGV4X21hcHBlZCA9 IDA7Cj4gIAo+ICAgICAgaWYgKCAhcmVzdW1pbmcgKQo+ICAgICAgICAgIGRvbWFpbl9wYXVzZShk KTsKPiArCj4gKyAgICBkaXJ0eV9iaXRtYXAgPSBtYXBfZGlydHlfYml0bWFwKHNjLT5kaXJ0eV9i aXRtYXAsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VtaW5nID8K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5n LnByZWVtcHQubG9nX2RpcnR5LmRvbmUgOgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBh Z2UsICZpbmRleF9tYXBwZWQpOwo+ICsgICAgaWYgKCBkaXJ0eV9iaXRtYXAgPT0gTlVMTCApCj4g KyAgICB7Cj4gKyAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7Cj4gKyAgICAgICAgcmV0dXJuIC1F RkFVTFQ7Cj4gKyAgICB9Cj4gICAgICBwYWdpbmdfbG9jayhkKTsKPiAgCj4gICAgICBpZiAoICFk LT5hcmNoLnBhZ2luZy5wcmVlbXB0LmRvbSApCj4gQEAgLTQ0OCwyMSArNTA5LDIzIEBAIHN0YXRp YyBpbnQgcGFnaW5nX2xvZ19kaXJ0eV9vcChzdHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgICAgIGdv dG8gb3V0Owo+ICAgICAgfQo+ICAKPiAtICAgIGw0ID0gcGFnaW5nX21hcF9sb2dfZGlydHlfYml0 bWFwKGQpOwo+ICAgICAgaTQgPSBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmxvZ19kaXJ0eS5pNDsK PiAgICAgIGkzID0gZC0+YXJjaC5wYWdpbmcucHJlZW1wdC5sb2dfZGlydHkuaTM7Cj4gKyAgICBp MiA9IDA7Cj4gICAgICBwYWdlcyA9IGQtPmFyY2gucGFnaW5nLnByZWVtcHQubG9nX2RpcnR5LmRv bmU7Cj4gIAo+ICsgYWdhaW46Cj4gKyAgICBsNCA9IHBhZ2luZ19tYXBfbG9nX2RpcnR5X2JpdG1h cChkKTsKPiArCj4gICAgICBmb3IgKCA7IChwYWdlcyA8IHNjLT5wYWdlcykgJiYgKGk0IDwgTE9H RElSVFlfTk9ERV9FTlRSSUVTKTsgaTQrKywgaTMgPSAwICkKPiAgICAgIHsKPiAgICAgICAgICBs MyA9IChsNCAmJiBtZm5fdmFsaWQobDRbaTRdKSkgPyBtYXBfZG9tYWluX3BhZ2UobWZuX3gobDRb aTRdKSkgOiBOVUxMOwo+IC0gICAgICAgIGZvciAoIDsgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAo aTMgPCBMT0dESVJUWV9OT0RFX0VOVFJJRVMpOyBpMysrICkKPiArICAgICAgICBmb3IgKCA7IChw YWdlcyA8IHNjLT5wYWdlcykgJiYgKGkzIDwgTE9HRElSVFlfTk9ERV9FTlRSSUVTKTsKPiArICAg ICAgICAgICAgIGkzKyssIGkyID0gMCApCj4gICAgICAgICAgewo+ICAgICAgICAgICAgICBsMiA9 ICgobDMgJiYgbWZuX3ZhbGlkKGwzW2kzXSkpID8KPiAgICAgICAgICAgICAgICAgICAgbWFwX2Rv bWFpbl9wYWdlKG1mbl94KGwzW2kzXSkpIDogTlVMTCk7Cj4gLSAgICAgICAgICAgIGZvciAoIGky ID0gMDsKPiAtICAgICAgICAgICAgICAgICAgKHBhZ2VzIDwgc2MtPnBhZ2VzKSAmJiAoaTIgPCBM T0dESVJUWV9OT0RFX0VOVFJJRVMpOwo+IC0gICAgICAgICAgICAgICAgICBpMisrICkKPiArICAg ICAgICAgICAgZm9yICggOyAocGFnZXMgPCBzYy0+cGFnZXMpICYmIChpMiA8IExPR0RJUlRZX05P REVfRU5UUklFUyk7IGkyKysgKQo+ICAgICAgICAgICAgICB7Cj4gICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgYnl0ZXMgPSBQQUdFX1NJWkU7Cj4gICAgICAgICAgICAgICAgICBsMSA9ICgo bDIgJiYgbWZuX3ZhbGlkKGwyW2kyXSkpID8KPiBAQCAtNDcxLDExICs1MzQsMjUgQEAgc3RhdGlj IGludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgICAgICAg ICAgICAgICAgYnl0ZXMgPSAodW5zaWduZWQgaW50KSgoc2MtPnBhZ2VzIC0gcGFnZXMgKyA3KSA+ PiAzKTsKPiAgICAgICAgICAgICAgICAgIGlmICggbGlrZWx5KHBlZWspICkKPiAgICAgICAgICAg ICAgICAgIHsKPiAtICAgICAgICAgICAgICAgICAgICBpZiAoIChsMSA/IGNvcHlfdG9fZ3Vlc3Rf b2Zmc2V0KHNjLT5kaXJ0eV9iaXRtYXAsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwYWdlcyA+PiAzLCAodWludDhfdCAqKWwxLAo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMpCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjbGVhcl9ndWVzdF9vZmZzZXQoc2MtPmRp cnR5X2JpdG1hcCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwYWdlcyA+PiAzLCBieXRlcykpICE9IDAgKQo+ICsgICAgICAgICAgICAgICAgICAg IGlmICggKHBhZ2VzID4+IDMpID49IChpbmRleF9tYXBwZWQgPj4gMykgKyA0MDk2ICkgewo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAvKiBXZSBuZWVkIHRvIG1hcCBuZXh0IHBhZ2UgKi8KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgcGFnaW5nX3VubG9jayhkKTsKPiArICAgICAgICAgICAg ICAgICAgICAgICAgdW5tYXBfZGlydHlfYml0bWFwKGRpcnR5X2JpdG1hcCwgcGFnZSk7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIGRpcnR5X2JpdG1hcCA9IG1hcF9kaXJ0eV9iaXRtYXAoc2Mt PmRpcnR5X2JpdG1hcCwgcGFnZXMsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnBhZ2UsICZpbmRleF9tYXBwZWQpOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgICBwYWdpbmdfbG9jayhkKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKCBkaXJ0eV9iaXRtYXAgPT0gTlVMTCApCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ2ID0gLUVGQVVMVDsKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3V0Owo+ICsgICAgICAgICAgICAgICAgICAgICAg ICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYWdhaW47Cj4gKyAgICAgICAgICAg ICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgIEJVR19PTigoKHBhZ2VzID4+IDMpICUg UEFHRV9TSVpFKSArIGJ5dGVzID4gUEFHRV9TSVpFKTsKPiArICAgICAgICAgICAgICAgICAgICBp ZiAoIChsMSA/IG1lbWNweShkaXJ0eV9iaXRtYXAgKyAoKHBhZ2VzID4+IDMpICUgUEFHRV9TSVpF KSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKWwx LCBieXRlcykKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1lbXNldChkaXJ0eV9i aXRtYXAgKyAoKHBhZ2VzID4+IDMpICUgUEFHRV9TSVpFKSwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwLCBieXRlcykpID09IE5VTEwgKQo+ICAgICAgICAgICAgICAg ICAgICAgIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgcnYgPSAtRUZBVUxUOwo+ICAgICAg ICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKPiBAQCAtNTQ5LDEyICs2MjYsMTQgQEAgc3Rh dGljIGludCBwYWdpbmdfbG9nX2RpcnR5X29wKHN0cnVjdCBkb21haW4gKmQsCj4gICAgICAgICAg ICogcGFnaW5nIG1vZGVzIChzaGFkb3cgb3IgaGFwKS4gIFNhZmUgYmVjYXVzZSB0aGUgZG9tYWlu IGlzIHBhdXNlZC4gKi8KPiAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2dfZGlydHkuY2xlYW5f ZGlydHlfYml0bWFwKGQpOwo+ICAgICAgfQo+ICsgICAgdW5tYXBfZGlydHlfYml0bWFwKGRpcnR5 X2JpdG1hcCwgcGFnZSk7Cj4gICAgICBkb21haW5fdW5wYXVzZShkKTsKPiAgICAgIHJldHVybiBy djsKPiAgCj4gICBvdXQ6Cj4gICAgICBkLT5hcmNoLnBhZ2luZy5wcmVlbXB0LmRvbSA9IE5VTEw7 Cj4gICAgICBwYWdpbmdfdW5sb2NrKGQpOwo+ICsgICAgdW5tYXBfZGlydHlfYml0bWFwKGRpcnR5 X2JpdG1hcCwgcGFnZSk7Cj4gICAgICBkb21haW5fdW5wYXVzZShkKTsKPiAgCj4gICAgICBpZiAo IGwxICkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=