From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Vivier Subject: Re: [PATCH 1/2] kvm: Batch writes to MMIO Date: Wed, 23 Apr 2008 16:59:08 +0200 Message-ID: <1208962748.4281.28.camel@frecb07144> References: <12089560583282-git-send-email-Laurent.Vivier@bull.net> <12089560581424-git-send-email-Laurent.Vivier@bull.net> <480F4826.5010301@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: kvm-devel@lists.sourceforge.net To: Avi Kivity Return-path: In-Reply-To: <480F4826.5010301@qumranet.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org CkxlIG1lcmNyZWRpIDIzIGF2cmlsIDIwMDggw6AgMTc6MzEgKzAzMDAsIEF2aSBLaXZpdHkgYSDD qWNyaXQgOgo+IExhdXJlbnQgVml2aWVyIHdyb3RlOgo+ID4gVGhpcyBwYXRjaCBpcyB0aGUga2Vy bmVsIHBhcnQgb2YgdGhlICJiYXRjaCB3cml0ZXMgdG8gTU1JTyIgcGF0Y2guCj4gPgo+ID4gV2hl biBrZXJuZWwgaGFzIHRvIHNlbmQgTU1JTyB3cml0ZXMgdG8gdXNlcnNwYWNlLCBpdCBzdG9yZXMg dGhlbQo+ID4gaW4gbWVtb3J5IHVudGlsIGl0IGhhcyB0byBwYXNzIHRoZSBoYW5kIHRvIHVzZXJz cGFjZSBmb3IgYW5vdGhlcgo+ID4gcmVhc29uLiBUaGlzIGF2b2lkcyB0byBoYXZlIHRvbyBtYW55 IGNvbnRleHQgc3dpdGNoZXMgb24gb3BlcmF0aW9ucwo+ID4gdGhhdCBjYW4gd2FpdC4KPiA+Cj4g PiBXQVJOSU5HOiB0aGlzIGJyZWFrcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIHVzZXJzcGFjZSBw YXJ0Lgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQgVml2aWVyIDxMYXVyZW50LlZpdmll ckBidWxsLm5ldD4KPiA+IC0tLQo+ID4gIGFyY2gveDg2L2t2bS94ODYuYyAgICAgICAgIHwgICAy MSArKysrKysrKysrKysrKysrKysrKysKPiA+ICBpbmNsdWRlL2FzbS14ODYva3ZtX2hvc3QuaCB8 ICAgIDIgKysKPiA+ICBpbmNsdWRlL2xpbnV4L2t2bS5oICAgICAgICB8ICAgMTAgKysrKysrKysr LQo+ID4gIHZpcnQva3ZtL2t2bV9tYWluLmMgICAgICAgIHwgICAgMyArKysKPiA+ICA0IGZpbGVz IGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAt LWdpdCBhL2FyY2gveDg2L2t2bS94ODYuYyBiL2FyY2gveDg2L2t2bS94ODYuYwo+ID4gaW5kZXgg MGNlNTU2My4uMzg4MTA1NiAxMDA2NDQKPiA+IC0tLSBhL2FyY2gveDg2L2t2bS94ODYuYwo+ID4g KysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCj4gPiBAQCAtMjk0Miw4ICsyOTQyLDIxIEBAIGludCBr dm1fYXJjaF92Y3B1X2lvY3RsX3J1bihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1f cnVuICprdm1fcnVuKQo+ID4gIAkJa3ZtX3g4Nl9vcHMtPmRlY2FjaGVfcmVncyh2Y3B1KTsKPiA+ ICAJfQo+ID4gIAo+ID4gK2JhdGNoOgo+ID4gIAlyID0gX192Y3B1X3J1bih2Y3B1LCBrdm1fcnVu KTsKPiA+ICAKPiA+ICsJaWYgKCFyICYmIHZjcHUtPm1taW9faXNfd3JpdGUgJiYKPiA+ICsJICAg IGt2bV9ydW4tPmV4aXRfcmVhc29uID09IEtWTV9FWElUX01NSU8gJiYKPiA+ICsJICAgIGt2bV9y dW4tPmJhdGNoX2NvdW50IDwgS1ZNX01BWF9CQVRDSCkgewo+ID4gKwkJc3RydWN0IGt2bV9iYXRj aCAqYmF0Y2ggPSB2Y3B1LT5hcmNoLmJhdGNoX2RhdGE7Cj4gPiArCQlpbnQgaSA9IGt2bV9ydW4t PmJhdGNoX2NvdW50Kys7Cj4gPiArCj4gPiArCQliYXRjaFtpXS5waHlzX2FkZHIgPSB2Y3B1LT5t bWlvX3BoeXNfYWRkcjsKPiA+ICsJCWJhdGNoW2ldLmxlbiA9IHZjcHUtPm1taW9fc2l6ZTsKPiA+ ICsJCW1lbWNweShiYXRjaFtpXS5kYXRhLCB2Y3B1LT5tbWlvX2RhdGEsIGJhdGNoW2ldLmxlbik7 Cj4gPiAgIAo+IAo+IFRoaXMgYnJlYWtzIG9yZGVyaW5nIG9uIHNtcCBndWVzdHMuIGJhdGNoX2Rh dGEgbmVlZHMgdG8gYmUgYSBrdm0gdGhpbmcsIAo+IG5vdCBhIHZjcHUgdGhpbmcsIGFuZCBsb2Nr ZWQsIG9mIGNvdXJzZS4KCi0gaXMgb3JkZXJpbmcgYmV0d2VlbiB2Y3B1IGltcG9ydGFudCB3aGVu IHdlIGFscmVhZHkgZGVsYXkgb3BlcmF0aW9ucyA/Ci0gdXNpbmcgdmNwdSBhdm9pZHMgdGhlIGxv Y2sKLSBXaHkgUElPIChwaW9fZGF0YSkgYXJlIHZjcHUgdGhpbmdzIGFuZCBub3Qga3ZtIHRoaW5n cywgdGhlbiA/Cgo+IEFsc28sIHlvdSBkb24ndCB3YW50IHRvIHF1ZXVlIHdyaXRlcyB3aGljaCB0 cmlnZ2VyIEkvTyBzaW5jZSB0aGF0IHdpbGwgCj4gYWZmZWN0IGxhdGVuY3kuICBVc2Vyc3BhY2Ug c2hvdWxkIHRlbGwgdGhlIGtlcm5lbCB3aGljaCBtbWlvIGFkZHJlc3NlcyAKPiBhcmUgcXVldWFi bGUuCgpJIGFncmVlIChidXQgaW4gbXkgZmlyc3QgcGF0Y2ggaXQgd2FzIGVhc2llciB0byBpZ25v cmUgdGhpcykKCj4gPiArCj4gPiArCQlnb3RvIGJhdGNoOwo+ID4gICAKPiAKPiBJZiB5b3UgbW92 ZSB0aGlzIHRvIHdpdGhpbiBfX3ZjcHVfcnVuLCB5b3Ugd29uJ3QgbmVlZCB0byBsb29wLiAgTWF5 YmUgCj4gdGhlIGJlc3QgcGxhY2UgaXMgd2hlcmUgd2UgYWN0dWFsbHkgZGVjaWRlIGl0J3MgYW4g bW1pbyB3cml0ZS4KCkkgYWdyZWUKCj4gWW91IGFsc28gbmVlZCB0byBmbHVzaCB0aGUgcXVldWUg ZWFjaCB0aW1lIHlvdSBoYXZlIGFuIGluLWtlcm5lbCBtbWlvIAo+IHdyaXRlLiAgRm9yIGV4YW1w bGU6Cj4gCj4gdmNwdTAgICAgICAgICAgICAgdmNwdTEKPiAKPiBtbWlvIHdyaXRlIChxdWV1ZWQp Cj4gYXBpYyB3cml0ZSAtPiBJUEkKPiAgICAgICAgICAgICAgICAgICAgICBkb2Vzbid0IHNlZSBl ZmZlY3RzIG9mIHdyaXRlCgpJIGFncmVlCgo+ID4gKwl9Cj4gPiAgb3V0Ogo+ID4gIAlpZiAodmNw dS0+c2lnc2V0X2FjdGl2ZSkKPiA+ICAJCXNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLCAmc2lnc2F2 ZWQsIE5VTEwpOwo+ID4gQEAgLTM4MzAsNiArMzg0MywxMyBAQCBpbnQga3ZtX2FyY2hfdmNwdV9p bml0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiA+ICAJfQo+ID4gIAl2Y3B1LT5hcmNoLnBpb19k YXRhID0gcGFnZV9hZGRyZXNzKHBhZ2UpOwo+ID4gIAo+ID4gKwlwYWdlID0gYWxsb2NfcGFnZShH RlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7Cj4gPiArCWlmICghcGFnZSkgewo+ID4gKwkJciA9IC1F Tk9NRU07Cj4gPiArCQlnb3RvIGZhaWw7Cj4gPiArCX0KPiA+ICsJdmNwdS0+YXJjaC5iYXRjaF9k YXRhID0gcGFnZV9hZGRyZXNzKHBhZ2UpOwo+ID4gKwo+ID4gIAlyID0ga3ZtX21tdV9jcmVhdGUo dmNwdSk7Cj4gPiAgCWlmIChyIDwgMCkKPiA+ICAJCWdvdG8gZmFpbF9mcmVlX3Bpb19kYXRhOwo+ ID4gQEAgLTM4NTcsNiArMzg3Nyw3IEBAIHZvaWQga3ZtX2FyY2hfdmNwdV91bmluaXQoc3RydWN0 IGt2bV92Y3B1ICp2Y3B1KQo+ID4gIAlrdm1fbW11X2Rlc3Ryb3kodmNwdSk7Cj4gPiAgCXVwX3Jl YWQoJnZjcHUtPmt2bS0+c2xvdHNfbG9jayk7Cj4gPiAgCWZyZWVfcGFnZSgodW5zaWduZWQgbG9u Zyl2Y3B1LT5hcmNoLnBpb19kYXRhKTsKPiA+ICsJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXZj cHUtPmFyY2guYmF0Y2hfZGF0YSk7Cj4gPiAgfQo+ID4gIAo+ID4gICNkZWZpbmUgQ1IzX1BBRV9S RVNFUlZFRF9CSVRTICgoWDg2X0NSM19QV1QgfCBYODZfQ1IzX1BDRCkgLSAxKQo+ID4gICNkZWZp bmUgQ1IzX05PTlBBRV9SRVNFUlZFRF9CSVRTICgoUEFHRV9TSVpFLTEpICYgfihYODZfQ1IzX1BX VCB8IFg4Nl9DUjNfUENEKSkKPiA+IEBAIC0yNTUsNiArMjU2LDcgQEAgc3RydWN0IGt2bV92Y3B1 X2FyY2ggewo+ID4gIAlndmFfdCBtbWlvX2ZhdWx0X2NyMjsKPiA+ICAJc3RydWN0IGt2bV9waW9f cmVxdWVzdCBwaW87Cj4gPiAgCXZvaWQgKnBpb19kYXRhOwo+ID4gKwl2b2lkICpiYXRjaF9kYXRh Owo+ID4gIAo+ID4gICAKPiAKPiBJdCdzIGFuIGFycmF5IG9mIHN0cnVjdHMsIG5vPyAgU28gaXQg c2hvdWxkbid0IGJlIGEgdm9pZCAqLgoKWWVzIChJIGxvdmUgY3V0JnBhc3RlLi4uKQoKPiA+ICAK PiA+ICsjZGVmaW5lIEtWTV9NQVhfQkFUQ0ggKFBBR0VfU0laRSAvIHNpemVvZihzdHJ1Y3Qga3Zt X2JhdGNoKSkKPiA+ICtzdHJ1Y3Qga3ZtX2JhdGNoIHsKPiA+ICsJX191NjQgcGh5c19hZGRyOwo+ ID4gKwlfX3UzMiBsZW47Cj4gPiArCV9fdTggIGRhdGFbOF07Cj4gPiArfTsKPiA+ICAgCj4gCj4g U2l6ZSBpcyAyNCBvbiA2NC1iaXQgYW5kIDIwIG9uIDMyLWJpdC4gIFBsZWFzZSBwYWQgKGFmdGVy IGxlbiwgc28gZGF0YSAKPiBpcyBuaWNlbHkgYWxpZ25lZCkuCgpPSwoKVGhhbmsgeW91LCAKTGF1 cmVudAotLSAKLS0tLS0tLS0tLS0tLSBMYXVyZW50LlZpdmllckBidWxsLm5ldCAtLS0tLS0tLS0t LS0tLS0KIlRoZSBiZXN0IHdheSB0byBwcmVkaWN0IHRoZSBmdXR1cmUgaXMgdG8gaW52ZW50IGl0 LiIKLSBBbGFuIEtheQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhpcyBTRi5uZXQgZW1haWwgaXMgc3Bv bnNvcmVkIGJ5IHRoZSAyMDA4IEphdmFPbmUoU00pIENvbmZlcmVuY2UgCkRvbid0IG1pc3MgdGhp cyB5ZWFyJ3MgZXhjaXRpbmcgZXZlbnQuIFRoZXJlJ3Mgc3RpbGwgdGltZSB0byBzYXZlICQxMDAu IApVc2UgcHJpb3JpdHkgY29kZSBKOFRMMkQyLiAKaHR0cDovL2FkLmRvdWJsZWNsaWNrLm5ldC9j bGs7MTk4NzU3NjczOzEzNTAzMDM4O3A/aHR0cDovL2phdmEuc3VuLmNvbS9qYXZhb25lCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmt2bS1kZXZlbCBtYWls aW5nIGxpc3QKa3ZtLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNv dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9rdm0tZGV2ZWwK