From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Thibault Subject: Re: [PATCH v4 16/19] mini-os: map page allocator's bitmap to virtual kernel area for ballooning Date: Thu, 11 Aug 2016 13:54:15 +0200 Message-ID: <20160811115415.GE4185@var.bordeaux.inria.fr> References: <1470913597-30133-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1470913597-30133-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Juergen Gross Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org SnVlcmdlbiBHcm9zcywgb24gVGh1IDExIEF1ZyAyMDE2IDEzOjA2OjM2ICswMjAwLCB3cm90ZToK PiBJbiBjYXNlIG9mIENPTkZJR19CQUxMT09OIHRoZSBwYWdlIGFsbG9jYXRvcidzIGJpdG1hcCBu ZWVkcyBzb21lIHNwYWNlCj4gdG8gYmUgYWJsZSB0byBncm93LiBSZW1hcCBpdCB0byBrZXJuZWwg dmlydHVhbCBhcmVhIGlmIHRoZSBwcmVhbGxvY2F0ZWQKPiBhcmVhIGlzbid0IGxhcmdlIGVub3Vn aC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+CgpS ZXZpZXdlZC1ieTogU2FtdWVsIFRoaWJhdWx0IDxzYW11ZWwudGhpYmF1bHRAZW5zLWx5b24ub3Jn PgoKPiAtLS0KPiBWNDogLSBtbV9iaXRtYXAqIC0+IG1tX2FsbG9jX2JpdG1hcCogYXMgcmVxdWVz dGVkIGJ5IFNhbXVlbCBUaGliYXVsdAo+IAo+IFYzOiAtIGFkZCBhc3NlcnRpb24gYXMgcmVxdWVz dGVkIGJ5IFNhbXVlbCBUaGliYXVsdAo+ICAgICAtIHJlbmFtZSBmdW5jdGlvbnMgdG8gaGF2ZSBt bV8gcHJlZml4IGFzIHJlcXVlc3RlZCBieSBTYW11ZWwgVGhpYmF1bHQKPiAtLS0KPiAgYmFsbG9v bi5jICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9iYWxsb29uLmgg fCAgMiArKwo+ICBpbmNsdWRlL21tLmggICAgICB8ICA2ICsrKysrKwo+ICBtbS5jICAgICAgICAg ICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IDQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2JhbGxvb24uYyBiL2JhbGxvb24uYwo+IGluZGV4IDFlYzExM2QuLjBhMzM0 MmMgMTAwNjQ0Cj4gLS0tIGEvYmFsbG9vbi5jCj4gKysrIGIvYmFsbG9vbi5jCj4gQEAgLTQ0LDMg KzQ0LDIxIEBAIHZvaWQgZ2V0X21heF9wYWdlcyh2b2lkKQo+ICAgICAgbnJfbWF4X3BhZ2VzID0g cmV0Owo+ICAgICAgcHJpbnRrKCJNYXhpbXVtIG1lbW9yeSBzaXplOiAlbGQgcGFnZXNcbiIsIG5y X21heF9wYWdlcyk7Cj4gIH0KPiArCj4gK3ZvaWQgbW1fYWxsb2NfYml0bWFwX3JlbWFwKHZvaWQp Cj4gK3sKPiArICAgIHVuc2lnbmVkIGxvbmcgaTsKPiArCj4gKyAgICBpZiAoIG1tX2FsbG9jX2Jp dG1hcF9zaXplID49ICgobnJfbWF4X3BhZ2VzICsgMSkgPj4gKFBBR0VfU0hJRlQgKyAzKSkgKQo+ ICsgICAgICAgIHJldHVybjsKPiArCj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IG1tX2FsbG9jX2Jp dG1hcF9zaXplOyBpICs9IFBBR0VfU0laRSApCj4gKyAgICB7Cj4gKyAgICAgICAgbWFwX2ZyYW1l X3J3KHZpcnRfa2VybmVsX2FyZWFfZW5kICsgaSwKPiArICAgICAgICAgICAgICAgICAgICAgdmly dF90b19tZm4oKHVuc2lnbmVkIGxvbmcpKG1tX2FsbG9jX2JpdG1hcCkgKyBpKSk7Cj4gKyAgICB9 Cj4gKwo+ICsgICAgbW1fYWxsb2NfYml0bWFwID0gKHVuc2lnbmVkIGxvbmcgKil2aXJ0X2tlcm5l bF9hcmVhX2VuZDsKPiArICAgIHZpcnRfa2VybmVsX2FyZWFfZW5kICs9IHJvdW5kX3BndXAoKG5y X21heF9wYWdlcyArIDEpID4+IChQQUdFX1NISUZUICsgMykpOwo+ICsgICAgQVNTRVJUKHZpcnRf a2VybmVsX2FyZWFfZW5kIDw9IFZJUlRfREVNQU5EX0FSRUEpOwo+ICt9Cj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvYmFsbG9vbi5oIGIvaW5jbHVkZS9iYWxsb29uLmgKPiBpbmRleCBiMGQwZWJmLi45 MTU0ZjQ0IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvYmFsbG9vbi5oCj4gKysrIGIvaW5jbHVkZS9i YWxsb29uLmgKPiBAQCAtMzEsMTEgKzMxLDEzIEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIHZpcnRf a2VybmVsX2FyZWFfZW5kOwo+ICAKPiAgdm9pZCBnZXRfbWF4X3BhZ2VzKHZvaWQpOwo+ICB2b2lk IGFyY2hfcmVtYXBfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3Bmbik7Cj4gK3ZvaWQgbW1fYWxsb2Nf Yml0bWFwX3JlbWFwKHZvaWQpOwo+ICAKPiAgI2Vsc2UgLyogQ09ORklHX0JBTExPT04gKi8KPiAg Cj4gIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRfbWF4X3BhZ2VzKHZvaWQpIHsgfQo+ICBzdGF0aWMg aW5saW5lIHZvaWQgYXJjaF9yZW1hcF9wMm0odW5zaWduZWQgbG9uZyBtYXhfcGZuKSB7IH0KPiAr c3RhdGljIGlubGluZSB2b2lkIG1tX2FsbG9jX2JpdG1hcF9yZW1hcCh2b2lkKSB7IH0KPiAgCj4g ICNlbmRpZiAvKiBDT05GSUdfQkFMTE9PTiAqLwo+ICAjZW5kaWYgLyogX0JBTExPT05fSF8gKi8K PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tbS5oIGIvaW5jbHVkZS9tbS5oCj4gaW5kZXggNmFkZDY4 My4uZmMzMTI4YiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL21tLmgKPiArKysgYi9pbmNsdWRlL21t LmgKPiBAQCAtNDIsOCArNDIsMTQgQEAKPiAgI2RlZmluZSBTVEFDS19TSVpFX1BBR0VfT1JERVIg X19TVEFDS19TSVpFX1BBR0VfT1JERVIKPiAgI2RlZmluZSBTVEFDS19TSVpFIF9fU1RBQ0tfU0la RQo+ICAKPiArI2RlZmluZSByb3VuZF9wZ2Rvd24oX3ApICAoKF9wKSAmIFBBR0VfTUFTSykKPiAr I2RlZmluZSByb3VuZF9wZ3VwKF9wKSAgICAoKChfcCkgKyAoUEFHRV9TSVpFIC0gMSkpICYgUEFH RV9NQVNLKQo+ICsKPiAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfZnJlZV9wYWdlczsKPiAgCj4g K2V4dGVybiB1bnNpZ25lZCBsb25nICptbV9hbGxvY19iaXRtYXA7Cj4gK2V4dGVybiB1bnNpZ25l ZCBsb25nIG1tX2FsbG9jX2JpdG1hcF9zaXplOwo+ICsKPiAgdm9pZCBpbml0X21tKHZvaWQpOwo+ ICB1bnNpZ25lZCBsb25nIGFsbG9jX3BhZ2VzKGludCBvcmRlcik7Cj4gICNkZWZpbmUgYWxsb2Nf cGFnZSgpICAgIGFsbG9jX3BhZ2VzKDApCj4gZGlmZiAtLWdpdCBhL21tLmMgYi9tbS5jCj4gaW5k ZXggNzA3YTNlMC4uOWUzYTQ3OSAxMDA2NDQKPiAtLS0gYS9tbS5jCj4gKysrIGIvbW0uYwo+IEBA IC00OCwxMSArNDgsMTQgQEAKPiAgICogIE9uZSBiaXQgcGVyIHBhZ2Ugb2YgbWVtb3J5LiBCaXQg c2V0ID0+IHBhZ2UgaXMgYWxsb2NhdGVkLgo+ICAgKi8KPiAgCj4gLXN0YXRpYyB1bnNpZ25lZCBs b25nICphbGxvY19iaXRtYXA7Cj4gK3Vuc2lnbmVkIGxvbmcgKm1tX2FsbG9jX2JpdG1hcDsKPiAr dW5zaWduZWQgbG9uZyBtbV9hbGxvY19iaXRtYXBfc2l6ZTsKPiArCj4gICNkZWZpbmUgUEFHRVNf UEVSX01BUFdPUkQgKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIDgpCj4gIAo+ICAjZGVmaW5lIGFs bG9jYXRlZF9pbl9tYXAoX3BuKSBcCj4gLShhbGxvY19iaXRtYXBbKF9wbikvUEFHRVNfUEVSX01B UFdPUkRdICYgKDFVTDw8KChfcG4pJihQQUdFU19QRVJfTUFQV09SRC0xKSkpKQo+ICsgICAgKG1t X2FsbG9jX2JpdG1hcFsoX3BuKSAvIFBBR0VTX1BFUl9NQVBXT1JEXSAmIFwKPiArICAgICAoMVVM IDw8ICgoX3BuKSAmIChQQUdFU19QRVJfTUFQV09SRCAtIDEpKSkpCj4gIAo+ICB1bnNpZ25lZCBs b25nIG5yX2ZyZWVfcGFnZXM7Cj4gIAo+IEBAIC02MSw4ICs2NCw4IEBAIHVuc2lnbmVkIGxvbmcg bnJfZnJlZV9wYWdlczsKPiAgICogIC0oMTw8bikgIHNldHMgYWxsIGJpdHMgPj0gbi4gCj4gICAq ICAoMTw8biktMSBzZXRzIGFsbCBiaXRzIDwgIG4uCj4gICAqIFZhcmlhYmxlIG5hbWVzIGluIG1h cF97YWxsb2MsZnJlZX06Cj4gLSAqICAqX2lkeCA9PSBJbmRleCBpbnRvIGBhbGxvY19iaXRtYXAn IGFycmF5Lgo+IC0gKiAgKl9vZmYgPT0gQml0IG9mZnNldCB3aXRoaW4gYW4gZWxlbWVudCBvZiB0 aGUgYGFsbG9jX2JpdG1hcCcgYXJyYXkuCj4gKyAqICAqX2lkeCA9PSBJbmRleCBpbnRvIGBtbV9h bGxvY19iaXRtYXAnIGFycmF5Lgo+ICsgKiAgKl9vZmYgPT0gQml0IG9mZnNldCB3aXRoaW4gYW4g ZWxlbWVudCBvZiB0aGUgYG1tX2FsbG9jX2JpdG1hcCcgYXJyYXkuCj4gICAqLwo+ICAKPiAgc3Rh dGljIHZvaWQgbWFwX2FsbG9jKHVuc2lnbmVkIGxvbmcgZmlyc3RfcGFnZSwgdW5zaWduZWQgbG9u ZyBucl9wYWdlcykKPiBAQCAtNzYsMTMgKzc5LDEzIEBAIHN0YXRpYyB2b2lkIG1hcF9hbGxvYyh1 bnNpZ25lZCBsb25nIGZpcnN0X3BhZ2UsIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMpCj4gIAo+ICAg ICAgaWYgKCBjdXJyX2lkeCA9PSBlbmRfaWR4ICkKPiAgICAgIHsKPiAtICAgICAgICBhbGxvY19i aXRtYXBbY3Vycl9pZHhdIHw9ICgoMVVMPDxlbmRfb2ZmKS0xKSAmIC0oMVVMPDxzdGFydF9vZmYp Owo+ICsgICAgICAgIG1tX2FsbG9jX2JpdG1hcFtjdXJyX2lkeF0gfD0gKCgxVUw8PGVuZF9vZmYp LTEpICYgLSgxVUw8PHN0YXJ0X29mZik7Cj4gICAgICB9Cj4gICAgICBlbHNlIAo+ICAgICAgewo+ IC0gICAgICAgIGFsbG9jX2JpdG1hcFtjdXJyX2lkeF0gfD0gLSgxVUw8PHN0YXJ0X29mZik7Cj4g LSAgICAgICAgd2hpbGUgKCArK2N1cnJfaWR4IDwgZW5kX2lkeCApIGFsbG9jX2JpdG1hcFtjdXJy X2lkeF0gPSB+MFVMOwo+IC0gICAgICAgIGFsbG9jX2JpdG1hcFtjdXJyX2lkeF0gfD0gKDFVTDw8 ZW5kX29mZiktMTsKPiArICAgICAgICBtbV9hbGxvY19iaXRtYXBbY3Vycl9pZHhdIHw9IC0oMVVM PDxzdGFydF9vZmYpOwo+ICsgICAgICAgIHdoaWxlICggKytjdXJyX2lkeCA8IGVuZF9pZHggKSBt bV9hbGxvY19iaXRtYXBbY3Vycl9pZHhdID0gfjBVTDsKPiArICAgICAgICBtbV9hbGxvY19iaXRt YXBbY3Vycl9pZHhdIHw9ICgxVUw8PGVuZF9vZmYpLTE7Cj4gICAgICB9Cj4gIAo+ICAgICAgbnJf ZnJlZV9wYWdlcyAtPSBucl9wYWdlczsKPiBAQCAtMTAyLDEzICsxMDUsMTMgQEAgc3RhdGljIHZv aWQgbWFwX2ZyZWUodW5zaWduZWQgbG9uZyBmaXJzdF9wYWdlLCB1bnNpZ25lZCBsb25nIG5yX3Bh Z2VzKQo+ICAKPiAgICAgIGlmICggY3Vycl9pZHggPT0gZW5kX2lkeCApCj4gICAgICB7Cj4gLSAg ICAgICAgYWxsb2NfYml0bWFwW2N1cnJfaWR4XSAmPSAtKDFVTDw8ZW5kX29mZikgfCAoKDFVTDw8 c3RhcnRfb2ZmKS0xKTsKPiArICAgICAgICBtbV9hbGxvY19iaXRtYXBbY3Vycl9pZHhdICY9IC0o MVVMPDxlbmRfb2ZmKSB8ICgoMVVMPDxzdGFydF9vZmYpLTEpOwo+ICAgICAgfQo+ICAgICAgZWxz ZSAKPiAgICAgIHsKPiAtICAgICAgICBhbGxvY19iaXRtYXBbY3Vycl9pZHhdICY9ICgxVUw8PHN0 YXJ0X29mZiktMTsKPiAtICAgICAgICB3aGlsZSAoICsrY3Vycl9pZHggIT0gZW5kX2lkeCApIGFs bG9jX2JpdG1hcFtjdXJyX2lkeF0gPSAwOwo+IC0gICAgICAgIGFsbG9jX2JpdG1hcFtjdXJyX2lk eF0gJj0gLSgxVUw8PGVuZF9vZmYpOwo+ICsgICAgICAgIG1tX2FsbG9jX2JpdG1hcFtjdXJyX2lk eF0gJj0gKDFVTDw8c3RhcnRfb2ZmKS0xOwo+ICsgICAgICAgIHdoaWxlICggKytjdXJyX2lkeCAh PSBlbmRfaWR4ICkgbW1fYWxsb2NfYml0bWFwW2N1cnJfaWR4XSA9IDA7Cj4gKyAgICAgICAgbW1f YWxsb2NfYml0bWFwW2N1cnJfaWR4XSAmPSAtKDFVTDw8ZW5kX29mZik7Cj4gICAgICB9Cj4gIH0K PiAgCj4gQEAgLTEzNyw5ICsxNDAsNiBAQCBzdGF0aWMgY2h1bmtfaGVhZF90ICpmcmVlX2hlYWRb RlJFRUxJU1RfU0laRV07Cj4gIHN0YXRpYyBjaHVua19oZWFkX3QgIGZyZWVfdGFpbFtGUkVFTElT VF9TSVpFXTsKPiAgI2RlZmluZSBGUkVFTElTVF9FTVBUWShfbCkgKChfbCktPm5leHQgPT0gTlVM TCkKPiAgCj4gLSNkZWZpbmUgcm91bmRfcGdkb3duKF9wKSAgKChfcCkmUEFHRV9NQVNLKQo+IC0j ZGVmaW5lIHJvdW5kX3BndXAoX3ApICAgICgoKF9wKSsoUEFHRV9TSVpFLTEpKSZQQUdFX01BU0sp Cj4gLQo+ICAvKgo+ICAgKiBJbml0aWFsaXNlIGFsbG9jYXRvciwgcGxhY2luZyBhZGRyZXNzZXMg W0BtaW4sQG1heF0gaW4gZnJlZSBwb29sLgo+ICAgKiBAbWluIGFuZCBAbWF4IGFyZSBQSFlTSUNB TCBhZGRyZXNzZXMuCj4gQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMgY2h1bmtfaGVhZF90ICBm cmVlX3RhaWxbRlJFRUxJU1RfU0laRV07Cj4gIHN0YXRpYyB2b2lkIGluaXRfcGFnZV9hbGxvY2F0 b3IodW5zaWduZWQgbG9uZyBtaW4sIHVuc2lnbmVkIGxvbmcgbWF4KQo+ICB7Cj4gICAgICBpbnQg aTsKPiAtICAgIHVuc2lnbmVkIGxvbmcgcmFuZ2UsIGJpdG1hcF9zaXplOwo+ICsgICAgdW5zaWdu ZWQgbG9uZyByYW5nZTsKPiAgICAgIGNodW5rX2hlYWRfdCAqY2g7Cj4gICAgICBjaHVua190YWls X3QgKmN0Owo+ICAgICAgZm9yICggaSA9IDA7IGkgPCBGUkVFTElTVF9TSVpFOyBpKysgKQo+IEBA IC0xNjEsMTQgKzE2MSwxNCBAQCBzdGF0aWMgdm9pZCBpbml0X3BhZ2VfYWxsb2NhdG9yKHVuc2ln bmVkIGxvbmcgbWluLCB1bnNpZ25lZCBsb25nIG1heCkKPiAgICAgIG1heCA9IHJvdW5kX3BnZG93 bihtYXgpOwo+ICAKPiAgICAgIC8qIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgYWxsb2NhdGlvbiBi aXRtYXAuICovCj4gLSAgICBiaXRtYXBfc2l6ZSAgPSAobWF4KzEpID4+IChQQUdFX1NISUZUKzMp Owo+IC0gICAgYml0bWFwX3NpemUgID0gcm91bmRfcGd1cChiaXRtYXBfc2l6ZSk7Cj4gLSAgICBh bGxvY19iaXRtYXAgPSAodW5zaWduZWQgbG9uZyAqKXRvX3ZpcnQobWluKTsKPiAtICAgIG1pbiAg ICAgICAgICs9IGJpdG1hcF9zaXplOwo+ICsgICAgbW1fYWxsb2NfYml0bWFwX3NpemUgID0gKG1h eCArIDEpID4+IChQQUdFX1NISUZUICsgMyk7Cj4gKyAgICBtbV9hbGxvY19iaXRtYXBfc2l6ZSAg PSByb3VuZF9wZ3VwKG1tX2FsbG9jX2JpdG1hcF9zaXplKTsKPiArICAgIG1tX2FsbG9jX2JpdG1h cCA9ICh1bnNpZ25lZCBsb25nICopdG9fdmlydChtaW4pOwo+ICsgICAgbWluICAgICAgICAgKz0g bW1fYWxsb2NfYml0bWFwX3NpemU7Cj4gICAgICByYW5nZSAgICAgICAgPSBtYXggLSBtaW47Cj4g IAo+ICAgICAgLyogQWxsIGFsbG9jYXRlZCBieSBkZWZhdWx0LiAqLwo+IC0gICAgbWVtc2V0KGFs bG9jX2JpdG1hcCwgfjAsIGJpdG1hcF9zaXplKTsKPiArICAgIG1lbXNldChtbV9hbGxvY19iaXRt YXAsIH4wLCBtbV9hbGxvY19iaXRtYXBfc2l6ZSk7Cj4gICAgICAvKiBGcmVlIHVwIHRoZSBtZW1v cnkgd2UndmUgYmVlbiBnaXZlbiB0byBwbGF5IHdpdGguICovCj4gICAgICBtYXBfZnJlZShQSFlT X1BGTihtaW4pLCByYW5nZT4+UEFHRV9TSElGVCk7Cj4gIAo+IEBAIC0xOTgsNiArMTk4LDggQEAg c3RhdGljIHZvaWQgaW5pdF9wYWdlX2FsbG9jYXRvcih1bnNpZ25lZCBsb25nIG1pbiwgdW5zaWdu ZWQgbG9uZyBtYXgpCj4gICAgICAgICAgZnJlZV9oZWFkW2ldICAgID0gY2g7Cj4gICAgICAgICAg Y3QtPmxldmVsICAgICAgID0gaTsKPiAgICAgIH0KPiArCj4gKyAgICBtbV9hbGxvY19iaXRtYXBf cmVtYXAoKTsKPiAgfQo+ICAKPiAgCj4gLS0gCj4gMi42LjYKPiAKCi0tIApTYW11ZWwKIi4uLkRl ZXAgSGFjayBNb2RlLS10aGF0IG15c3RlcmlvdXMgYW5kIGZyaWdodGVuaW5nIHN0YXRlIG9mCmNv bnNjaW91c25lc3Mgd2hlcmUgTW9ydGFsIFVzZXJzIGZlYXIgdG8gdHJlYWQuIgooQnkgTWF0dCBX ZWxzaCkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=