From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: Balloon pressuring page cache Date: Tue, 4 Feb 2020 00:45:37 -0500 Message-ID: <20200204004302-mutt-send-email-mst@kernel.org> References: <91270a68-ff48-88b0-219c-69801f0c252f@redhat.com> <75d4594f-0864-5172-a0f8-f97affedb366@redhat.com> <286AC319A985734F985F78AFA26841F73E3F8A02@shsmsx102.ccr.corp.intel.com> <20200203080520-mutt-send-email-mst@kernel.org> <5ac131de8e3b7fc1fafd05a61feb5f6889aeb917.camel@linux.intel.com> <20200203120225-mutt-send-email-mst@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" To: Tyler Sanderson Cc: "virtualization@lists.linux-foundation.org" , "linux-mm@kvack.org" , David Rientjes , Alexander Duyck , Michal Hocko List-Id: virtualization@lists.linuxfoundation.org T24gTW9uLCBGZWIgMDMsIDIwMjAgYXQgMTI6MzI6MDVQTSAtMDgwMCwgVHlsZXIgU2FuZGVyc29u IHdyb3RlOgo+IFRoZXJlIHdlcmUgYXBwYXJlbnRseSBnb29kIHJlYXNvbnMgZm9yIG1vdmluZyBh d2F5IGZyb20gT09NIG5vdGlmaWVyIGNhbGxiYWNrOgo+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8y MDE4LzcvMTIvMzE0Cj4gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTgvOC8yLzMyMgo+IAo+IElu IHBhcnRpY3VsYXIgdGhlIE9PTSBub3RpZmllciBpcyB3b3JzZSB0aGFuIHRoZSBzaHJpbmtlciBi ZWNhdXNlOgo+IAo+ICAxLiBJdCBpcyBsYXN0LXJlc29ydCwgd2hpY2ggbWVhbnMgdGhlIHN5c3Rl bSBoYXMgYWxyZWFkeSBnb25lIHRocm91Z2ggaGVyb2ljcwo+ICAgICB0byBwcmV2ZW50IE9PTS4g VGhvc2UgaGVyb2ljIHJlY2xhaW0gZWZmb3J0cyBhcmUgZXhwZW5zaXZlIGFuZCBpbXBhY3QKPiAg ICAgYXBwbGljYXRpb24gcGVyZm9ybWFuY2UuCj4gIDIuIEl0IGxhY2tzIHVuZGVyc3RhbmRpbmcg b2YgTlVNQSBvciBvdGhlciBPT00gY29uc3RyYWludHMuCj4gIDMuIEl0IGhhcyBhIGhpZ2hlciBw b3RlbnRpYWwgZm9yIGJ1Z3MgZHVlIHRvIHRoZSBzdWJ0bGV0ecKgb2YgdGhlIGNhbGxiYWNrCj4g ICAgIGNvbnRleHQuCj4gCj4gR2l2ZW4gdGhlIGFib3ZlLCBJIHRoaW5rIHRoZSBzaHJpbmtlcsKg QVBJIGNlcnRhaW5seSBtYWtlcyB0aGUgbW9zdCBzZW5zZSBfaWZfCj4gdGhlIGJhbGxvb24gc2l6 ZSBpcyBzdGF0aWMuIEluIHRoYXQgY2FzZSBtZW1vcnkgc2hvdWxkIGJlIHJlY2xhaW1lZCBmcm9t IHRoZQo+IGJhbGxvb24gZWFybHkgYW5kIHByb3BvcnRpb25hbGx5IHRvIGJhbGxvb24gc2l6ZSwg d2hpY2ggdGhlIHNocmlua2VyIEFQSQo+IGFjaGlldmVzLgoKT0sgdGhhdCBzb3VuZHMgbGlrZSBW SVJUSU9fQkFMTE9PTl9GX0ZSRUVfUEFHRV9ISU5UIHRoZW4uCgo+IEhvd2V2ZXIsIGlmIHRoZSBi YWxsb29uIGlzIGluZmxhdGluZyBhbmQgaW50ZW50aW9uYWxseSBjYXVzaW5nIG1lbW9yeSBwcmVz c3VyZQo+IHRoZW4gdGhpcyByZXN1bHRzIGluIHRoZSBpbmVmZmljaWVuY3kgcG9pbnRlZCBvdXQg ZWFybGllci4KCkFuZCB0aGF0IHNvdW5kcyBsaWtlIFZJUlRJT19CQUxMT09OX0ZfREVGTEFURV9P Tl9PT00uCgo+IElmIHRoZSBiYWxsb29uIGlzIGluZmxhdGluZyBidXQgbm90IGNhdXNpbmcgbWVt b3J5IHByZXNzdXJlIHRoZW4gdGhlcmUgaXMgbm8KPiBwcm9ibGVtIHdpdGggZWl0aGVyIEFQSS4K PiAKPiBUaGlzIHN1Z2dlc3RzIGFub3RoZXIgcm91dGU6IHJhdGhlciB0aGFuIGNhdXNlIG1lbW9y eSBwcmVzc3VyZSB0byBzaHJpbmsgdGhlCj4gcGFnZSBjYWNoZSwgdGhlIGJhbGxvb24gY291bGQg aXNzdWUgdGhlIGVxdWl2YWxlbnTCoG9mICJlY2hvIDMgPiAvcHJvYy9zeXMvdm0vCj4gZHJvcF9j YWNoZXMiLgo+IE9mIGNvdXJzZSBpZGVhbGx5LCB3ZSB3YW50IHRvIGJlIG1vcmUgZmluZSBncmFp bmVkIHRoYW4gImRyb3AgZXZlcnl0aGluZyIuIFdlCj4gcmVhbGx5IHdhbnQgYW4gQVBJIHRoYXQg c2F5cyAiZHJvcCBldmVyeXRoaW5nIHRoYXQgaGFzbid0IGJlZW4gYWNjZXNzZWQgaW4gdGhlCj4g bGFzdCA1IG1pbnV0ZXMiLgo+IAo+IFRoaXMgd291bGQgZWxpbWluYXRlIHRoZSBuZWVkIGZvciB0 aGUgYmFsbG9vbiB0byBjYXVzZSBtZW1vcnkgcHJlc3N1cmUgYXQgYWxsCj4gd2hpY2jCoGF2b2lk cyB0aGUgaW5lZmZpY2llbmN5IGluIHF1ZXN0aW9uLiBGdXJ0aGVybW9yZSwgdGhpcyBwYWlycyBu aWNlbHkgd2l0aAo+IHRoZSBGUkVFX1BBR0VfSElOVCBmZWF0dXJlLgoKV2VsbCB3ZSBzdGlsbCBk byBoYXZlIGEgcmVncmVzc2lvbi4gU28gd2UgcHJvYmFibHkgc2hvdWxkIHJldmVydApmb3Igbm93 LCBhbmQgc2VwYXJhdGVseSBsb29rIGZvciBiZXR0ZXIgc29sdXRpb25zLgoKCgo+IAo+IE9uIE1v biwgRmViIDMsIDIwMjAgYXQgOTowNCBBTSBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQu Y29tPiB3cm90ZToKPiAKPiAgICAgT24gTW9uLCBGZWIgMDMsIDIwMjAgYXQgMDU6MzQ6MjBQTSAr MDEwMCwgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4gICAgID4gT24gMDMuMDIuMjAgMTc6MTgs IEFsZXhhbmRlciBEdXljayB3cm90ZToKPiAgICAgPiA+IE9uIE1vbiwgMjAyMC0wMi0wMyBhdCAw ODoxMSAtMDUwMCwgTWljaGFlbCBTLiBUc2lya2luIHdyb3RlOgo+ICAgICA+ID4+IE9uIFRodSwg SmFuIDMwLCAyMDIwIGF0IDExOjU5OjQ2QU0gLTA4MDAsIFR5bGVyIFNhbmRlcnNvbiB3cm90ZToK PiAgICAgPiA+Pj4KPiAgICAgPiA+Pj4gT24gVGh1LCBKYW4gMzAsIDIwMjAgYXQgNzozMSBBTSBX YW5nLCBXZWkgVyA8d2VpLncud2FuZ0BpbnRlbC5jb20+Cj4gICAgIHdyb3RlOgo+ICAgICA+ID4+ Pgo+ICAgICA+ID4+PsKgIMKgIMKgT24gVGh1cnNkYXksIEphbnVhcnkgMzAsIDIwMjAgMTE6MDMg UE0sIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+ICAgICA+ID4+PsKgIMKgIMKgPiBPbiAyOS4w MS4yMCAyMDoxMSwgVHlsZXIgU2FuZGVyc29uIHdyb3RlOgo+ICAgICA+ID4+PsKgIMKgIMKgPiA+ Cj4gICAgID4gPj4+wqAgwqAgwqA+ID4KPiAgICAgPiA+Pj7CoCDCoCDCoD4gPiBPbiBXZWQsIEph biAyOSwgMjAyMCBhdCAyOjMxIEFNIERhdmlkIEhpbGRlbmJyYW5kIDwKPiAgICAgZGF2aWRAcmVk aGF0LmNvbQo+ICAgICA+ID4+PsKgIMKgIMKgPiA+IDxtYWlsdG86ZGF2aWRAcmVkaGF0LmNvbT4+ IHdyb3RlOgo+ICAgICA+ID4+PsKgIMKgIMKgPiA+Cj4gICAgID4gPj4+wqAgwqAgwqA+ID7CoCDC oCDCoE9uIDI5LjAxLjIwIDAxOjIyLCBUeWxlciBTYW5kZXJzb24gdmlhIFZpcnR1YWxpemF0aW9u Cj4gICAgIHdyb3RlOgo+ICAgICA+ID4+PsKgIMKgIMKgPiA+wqAgwqAgwqA+IEEgcHJpbWFyeSBh ZHZhbnRhZ2Ugb2YgdmlydGlvIGJhbGxvb24gb3ZlciBvdGhlciBtZW1vcnkKPiAgICAgcmVjbGFp bQo+ICAgICA+ID4+PsKgIMKgIMKgPiA+wqAgwqAgwqA+IG1lY2hhbmlzbXMgaXMgdGhhdCBpdCBj YW4gcHJlc3N1cmUgdGhlIGd1ZXN0J3MgcGFnZQo+ICAgICBjYWNoZSBpbnRvCj4gICAgID4gPj4+ wqAgwqAgwqA+ID7CoCDCoCDCoHNocmlua2luZy4KPiAgICAgPiA+Pj7CoCDCoCDCoD4gPsKgIMKg IMKgPgo+ICAgICA+ID4+PsKgIMKgIMKgPiA+wqAgwqAgwqA+IEhvd2V2ZXIsIHNpbmNlIHRoZSBi YWxsb29uIGRyaXZlciBjaGFuZ2VkIHRvIHVzaW5nIHRoZQo+ICAgICBzaHJpbmtlcgo+ICAgICA+ ID4+PsKgIMKgIMKgQVBJCj4gICAgID4gPj4+wqAgwqAgwqA+ID7CoCDCoCDCoD4KPiAgICAgPiA+ Pj7CoCDCoCDCoD4gPgo+ICAgICA+ID4+PsKgIMKgIMKgPiA8aHR0cHM6Ly9naXRodWIuY29tL3Rv cnZhbGRzL2xpbnV4L2NvbW1pdC8KPiAgICAgNzE5OTQ2MjBiYjI1YThiMTA5Mzg4ZmVmYTkKPiAg ICAgPiA+Pj7CoCDCoCDCoD4gZTk5YTI4ZTM1NTI1NWEjZGlmZi1mZDIwMmFjZjY5NGQ5ZWJhMTlj OGM2NGRhM2U0ODBjOT4gdGhpcwo+ICAgICA+ID4+PsKgIMKgIMKgPiA+wqAgwqAgwqA+IHVzZSBj YXNlIGhhcyBiZWNvbWUgYSBiaXQgbW9yZSB0cmlja3kuIEknbSB3b25kZXJpbmcKPiAgICAgd2hh dCB0aGUKPiAgICAgPiA+Pj7CoCDCoCDCoD4gaW50ZW5kZWQKPiAgICAgPiA+Pj7CoCDCoCDCoD4g PsKgIMKgIMKgPiBkZXZpY2UgaW1wbGVtZW50YXRpb24gaXMuCj4gICAgID4gPj4+wqAgwqAgwqA+ ID7CoCDCoCDCoD4KPiAgICAgPiA+Pj7CoCDCoCDCoD4gPsKgIMKgIMKgPiBXaGVuIGluZmxhdGlu ZyB0aGUgYmFsbG9vbiBhZ2FpbnN0IHBhZ2UgY2FjaGUgKGkuZS4gbm8KPiAgICAgZnJlZQo+ICAg ICA+ID4+PsKgIMKgIMKgbWVtb3J5Cj4gICAgID4gPj4+wqAgwqAgwqA+ID7CoCDCoCDCoD4gcmVt YWlucykgdm1zY2FuLmMgd2lsbCBib3RoIHNocmluayBwYWdlIGNhY2hlLCBidXQgYWxzbwo+ICAg ICBpbnZva2UKPiAgICAgPiA+Pj7CoCDCoCDCoHRoZQo+ICAgICA+ID4+PsKgIMKgIMKgPiA+wqAg wqAgwqA+IHNocmlua2VycyAtLSBpbmNsdWRpbmcgdGhlIGJhbGxvb24ncyBzaHJpbmtlci4gU28g dGhlCj4gICAgIGJhbGxvb24KPiAgICAgPiA+Pj7CoCDCoCDCoGRyaXZlcgo+ICAgICA+ID4+PsKg IMKgIMKgPiA+wqAgwqAgwqA+IGFsbG9jYXRlcyBtZW1vcnkgd2hpY2ggcmVxdWlyZXMgcmVjbGFp bSwgdm1zY2FuIGdldHMKPiAgICAgdGhpcyBtZW1vcnkKPiAgICAgPiA+Pj7CoCDCoCDCoD4gYnkK PiAgICAgPiA+Pj7CoCDCoCDCoD4gPsKgIMKgIMKgPiBzaHJpbmtpbmcgdGhlIGJhbGxvb24sIGFu ZCB0aGVuIHRoZSBkcml2ZXIgYWRkcyB0aGUKPiAgICAgbWVtb3J5IGJhY2sKPiAgICAgPiA+Pj7C oCDCoCDCoHRvCj4gICAgID4gPj4+wqAgwqAgwqA+IHRoZQo+ICAgICA+ID4+PsKgIMKgIMKgPiA+ wqAgwqAgwqA+IGJhbGxvb24uIEJhc2ljYWxseSBhIGJ1c3kgbm8tb3AuCj4gICAgID4gPj4+Cj4g ICAgID4gPj4+wqAgwqAgwqBQZXIgbXkgdW5kZXJzdGFuZGluZywgdGhlIGJhbGxvb24gYWxsb2Nh dGlvbiB3b27igJl0IGludm9rZQo+ICAgICBzaHJpbmtlciBhcwo+ICAgICA+ID4+PsKgIMKgIMKg X19HRlBfRElSRUNUX1JFQ0xBSU0gaXNuJ3Qgc2V0LCBubz8KPiAgICAgPiA+Pj4KPiAgICAgPiA+ Pj4gSSBjb3VsZCBiZSB3cm9uZyBhYm91dCB0aGUgbWVjaGFuaXNtLCBidXQgdGhlIGRldmljZSBz ZWVzIGxvdHMgb2YKPiAgICAgYWN0aXZpdHkgb24KPiAgICAgPiA+Pj4gdGhlIGRlZmxhdGUgcXVl dWUuIFRoZSBiYWxsb29uIGlzIGJlaW5nIHNocnVuay4gQW5kIHRoaXMgb25seSBzdGFydHMKPiAg ICAgb25jZSBhbGwKPiAgICAgPiA+Pj4gZnJlZSBtZW1vcnkgaXMgZGVwbGV0ZWQgYW5kIHdlJ3Jl IGluZmxhdGluZyBpbnRvIHBhZ2UgY2FjaGUuCj4gICAgID4gPj4KPiAgICAgPiA+PiBTbyBnaXZl biB0aGlzIGxvb2tzIGxpa2UgYSByZWdyZXNzaW9uLCBtYXliZSB3ZSBzaG91bGQgcmV2ZXJ0IHRo ZQo+ICAgICA+ID4+IHBhdGNoIGluIHF1ZXN0aW9uIDcxOTk0NjIwYmIyNSAoInZpcnRpb19iYWxs b29uOiByZXBsYWNlIG9vbSBub3RpZmllcgo+ICAgICB3aXRoIHNocmlua2VyIikKPiAgICAgPiA+ PiBCZXNpZGVzLCB3aXRoIFZJUlRJT19CQUxMT09OX0ZfRlJFRV9QQUdFX0hJTlQKPiAgICAgPiA+ PiBzaHJpbmtlciBhbHNvIGlnbm9yZXMgVklSVElPX0JBTExPT05fRl9NVVNUX1RFTExfSE9TVCB3 aGljaCBpc24ndCBuaWNlCj4gICAgID4gPj4gYXQgYWxsLgo+ICAgICA+ID4+Cj4gICAgID4gPj4g U28gaXQgbG9va3MgbGlrZSBhbGwgdGhpcyByZXdvcmsgaW50cm9kdWNlZCBtb3JlIGlzc3VlcyB0 aGFuIGl0Cj4gICAgID4gPj4gYWRkcmVzc2VkIC4uLgo+ICAgICA+ID4+Cj4gICAgID4gPj4gSSBh bHNvIENDIEFsZXggRHV5Y2sgZm9yIGFuIG9waW5pb24gb24gdGhpcy4KPiAgICAgPiA+PiBBbGV4 LCB3aGF0IGRvIHlvdSB1c2UgdG8gcHV0IHByZXNzdXJlIG9uIHBhZ2UgY2FjaGU/Cj4gICAgID4g Pgo+ICAgICA+ID4gSSB3b3VsZCBzYXkgcmV2ZXJ0aW5nIHByb2JhYmx5IG1ha2VzIHNlbnNlLiBJ J20gbm90IHN1cmUgdGhlcmUgaXMgbXVjaAo+ICAgICA+ID4gdmFsdWUgdG8gaGF2aW5nIGEgc2hy aW5rZXIgcnVubmluZyBkZWZsYXRpb24gd2hlbiB5b3UgYXJlIGFjdGl2ZWx5Cj4gICAgIHRyeWlu Zwo+ICAgICA+ID4gdG8gaW5jcmVhc2UgdGhlIGJhbGxvb24uIEl0IHdvdWxkIG1ha2UgbW9yZSBz ZW5zZSB0byB3YWl0IHVudGlsIHlvdSBhcmUKPiAgICAgPiA+IGFjdHVhbGx5IGFib3V0IHRvIHN0 YXJ0IGhpdHRpbmcgb29tLgo+ICAgICA+Cj4gICAgID4gSSB0aGluayB0aGUgc2hyaW5rZXIgbWFr ZXMgc2Vuc2UgZm9yIGZyZWUgcGFnZSBoaW50aW5nIGZlYXR1cmUKPiAgICAgPiAoZXZlcnl0aGlu ZyBvbiBmcmVlX3BhZ2VfbGlzdCkuCj4gICAgID4KPiAgICAgPiBTbyBpbnN0ZWFkIG9mIG9ubHkg cmV2ZXJ0aW5nLCBJIHRoaW5rIHdlIHNob3VsZCBzcGxpdCBpdCB1cCBhbmQgYWx3YXlzCj4gICAg ID4gcmVnaXN0ZXIgdGhlIHNocmlua2VyIGZvciBWSVJUSU9fQkFMTE9PTl9GX0ZSRUVfUEFHRV9I SU5UIGFuZCB0aGUgT09NCj4gICAgID4gbm90aWZpZXIgKGFzIGJlZm9yZSkgZm9yIFZJUlRJT19C QUxMT09OX0ZfTVVTVF9URUxMX0hPU1QuCj4gCj4gICAgIE9LIC4uLiBJIGd1ZXNzIHRoYXQgbWVh bnMgd2UgbmVlZCB0byBmaXggc2hyaW5rZXIgdG8gdGFrZQo+ICAgICBWSVJUSU9fQkFMTE9PTl9G X01VU1RfVEVMTF9IT1NUIGludG8gYWNjb3VudCBjb3JyZWN0bHkuCj4gICAgIEhvc3RzIGlnbm9y ZSBpdCBhdCB0aGUgbW9tZW50IGJ1dCBpdCdzIGEgZnJhZ2lsZSB0aGluZwo+ICAgICB0byBkbyB3 aGF0IGl0IGRvZXMgYW5kIGlnbm9yZSB1c2VkIGJ1ZmZlcnMuCj4gCj4gICAgID4gKE9mIGNvdXJz ZSwgYWRhcHRpbmcgd2hhdCBpcyBiZWluZyBkb25lIGluIHRoZSBzaHJpbmtlciBhbmQgaW4gdGhl IE9PTQo+ICAgICA+IG5vdGlmaWVyKQo+ICAgICA+Cj4gICAgID4gLS0KPiAgICAgPiBUaGFua3Ms Cj4gICAgID4KPiAgICAgPiBEYXZpZCAvIGRoaWxkZW5iCj4gCj4gCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxp c3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0 cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C024BC3524A for ; Tue, 4 Feb 2020 05:45:52 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 4ADA92084E for ; Tue, 4 Feb 2020 05:45:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cpeI27UJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4ADA92084E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A9DBC6B0003; Tue, 4 Feb 2020 00:45:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A4D176B0005; Tue, 4 Feb 2020 00:45:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93B786B0006; Tue, 4 Feb 2020 00:45:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0058.hostedemail.com [216.40.44.58]) by kanga.kvack.org (Postfix) with ESMTP id 7DC416B0003 for ; Tue, 4 Feb 2020 00:45:51 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 314E58248047 for ; Tue, 4 Feb 2020 05:45:51 +0000 (UTC) X-FDA: 76451358102.26.shade87_15e44a02b6922 X-HE-Tag: shade87_15e44a02b6922 X-Filterd-Recvd-Size: 11720 Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by imf18.hostedemail.com (Postfix) with ESMTP for ; Tue, 4 Feb 2020 05:45:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580795149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WlG4G7roNEqaJVq/pJdBXCowC0/0FV1OoDBYCfkRuxA=; b=cpeI27UJP6imL4Rd5voueHCXA0SdXYCif0jehL2pWec8zImJz2rXMD/nATb3NStaR3/8n1 zjmLgnCl/rD4mNnb+sYFdOYFtlk+wwIO82vNyT+qzzWoOUjMXGGXv+6X1plj9/Fft++7Go dHBn6SlIKY4NSkWJB2FZp/hWClWLCsE= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-394-jqOgl2sOMBGlQAgz1zEoIA-1; Tue, 04 Feb 2020 00:45:44 -0500 Received: by mail-qv1-f72.google.com with SMTP id d7so10996496qvq.12 for ; Mon, 03 Feb 2020 21:45:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=egHlU2U6PFBbVwWy/xLdnjrB42lh1nfso6qhypFl344=; b=Bijc0JJfmzWsZdTW5q32D3bE9cPSdExzobNQ13g0HIXgJ5hkcC1zGK+R0Y1xAdnFRF ueCHxSb90GnEp9oioLlVZRzK/jNdh4D0ruLaJwluQGLD95iemREarqKWh0L3MQxMfHLw V9+WtzdH7x6YBgoeUdnT7ngVI3giNDqi1PGYJMVucEkVgvWSbwPrr9USJK5PZDwsH0h1 YXy+f7QuBIoiEIZ+NxoiUou1aR+J1Sser+TiglRskwcxmMjFHZdYX2JAcAewWD0z9Ku1 TVMa2Qdhhz4dyaWg5OXoMth74R9pOF9z4eLOUeY1vkuJC3DVTG6O6pu7aGwKD0kGFvIM ZfXg== X-Gm-Message-State: APjAAAWu45A7QSfn82U34or/YihY89rAnAzlo/YJcYbFa2p7Kq2DmUPT t2XH0n2VEjAEyYU6PZyDbqdfy+6oocbcYwZd1PXLCiEC8f556LynXf1hSddHlgb8z0QsONTRevn +1Tw/Q3mkqD8= X-Received: by 2002:ac8:187b:: with SMTP id n56mr27475167qtk.173.1580795143631; Mon, 03 Feb 2020 21:45:43 -0800 (PST) X-Google-Smtp-Source: APXvYqxRHrFPrkMh9a6LmIqQqRMwZ+W30YdrU5OZ5qv0+GeKOGzk9JeDHM64BA2LhRRKSywft+wsqQ== X-Received: by 2002:ac8:187b:: with SMTP id n56mr27475153qtk.173.1580795143326; Mon, 03 Feb 2020 21:45:43 -0800 (PST) Received: from redhat.com (bzq-109-64-11-187.red.bezeqint.net. [109.64.11.187]) by smtp.gmail.com with ESMTPSA id r13sm10982499qtt.70.2020.02.03.21.45.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2020 21:45:42 -0800 (PST) Date: Tue, 4 Feb 2020 00:45:37 -0500 From: "Michael S. Tsirkin" To: Tyler Sanderson Cc: David Hildenbrand , Alexander Duyck , "Wang, Wei W" , "virtualization@lists.linux-foundation.org" , David Rientjes , "linux-mm@kvack.org" , Michal Hocko Subject: Re: Balloon pressuring page cache Message-ID: <20200204004302-mutt-send-email-mst@kernel.org> References: <91270a68-ff48-88b0-219c-69801f0c252f@redhat.com> <75d4594f-0864-5172-a0f8-f97affedb366@redhat.com> <286AC319A985734F985F78AFA26841F73E3F8A02@shsmsx102.ccr.corp.intel.com> <20200203080520-mutt-send-email-mst@kernel.org> <5ac131de8e3b7fc1fafd05a61feb5f6889aeb917.camel@linux.intel.com> <20200203120225-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 In-Reply-To: X-MC-Unique: jqOgl2sOMBGlQAgz1zEoIA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Feb 03, 2020 at 12:32:05PM -0800, Tyler Sanderson wrote: > There were apparently good reasons for moving away from OOM notifier call= back: > https://lkml.org/lkml/2018/7/12/314 > https://lkml.org/lkml/2018/8/2/322 >=20 > In particular the OOM notifier is worse than the shrinker because: >=20 > 1. It is last-resort, which means the system has already gone through he= roics > to prevent OOM. Those heroic reclaim efforts are expensive and impact > application performance. > 2. It lacks understanding of NUMA or other OOM constraints. > 3. It has a higher potential for bugs due to the subtlety=C2=A0of the ca= llback > context. >=20 > Given the above, I think the shrinker=C2=A0API certainly makes the most s= ense _if_ > the balloon size is static. In that case memory should be reclaimed from = the > balloon early and proportionally to balloon size, which the shrinker API > achieves. OK that sounds like VIRTIO_BALLOON_F_FREE_PAGE_HINT then. > However, if the balloon is inflating and intentionally causing memory pre= ssure > then this results in the inefficiency pointed out earlier. And that sounds like VIRTIO_BALLOON_F_DEFLATE_ON_OOM. > If the balloon is inflating but not causing memory pressure then there is= no > problem with either API. >=20 > This suggests another route: rather than cause memory pressure to shrink = the > page cache, the balloon could issue the equivalent=C2=A0of "echo 3 > /pro= c/sys/vm/ > drop_caches". > Of course ideally, we want to be more fine grained than "drop everything"= . We > really want an API that says "drop everything that hasn't been accessed i= n the > last 5 minutes". >=20 > This would eliminate the need for the balloon to cause memory pressure at= all > which=C2=A0avoids the inefficiency in question. Furthermore, this pairs n= icely with > the FREE_PAGE_HINT feature. Well we still do have a regression. So we probably should revert for now, and separately look for better solutions. >=20 > On Mon, Feb 3, 2020 at 9:04 AM Michael S. Tsirkin wrote: >=20 > On Mon, Feb 03, 2020 at 05:34:20PM +0100, David Hildenbrand wrote: > > On 03.02.20 17:18, Alexander Duyck wrote: > > > On Mon, 2020-02-03 at 08:11 -0500, Michael S. Tsirkin wrote: > > >> On Thu, Jan 30, 2020 at 11:59:46AM -0800, Tyler Sanderson wrote: > > >>> > > >>> On Thu, Jan 30, 2020 at 7:31 AM Wang, Wei W > wrote: > > >>> > > >>>=C2=A0 =C2=A0 =C2=A0On Thursday, January 30, 2020 11:03 PM, Davi= d Hildenbrand wrote: > > >>>=C2=A0 =C2=A0 =C2=A0> On 29.01.20 20:11, Tyler Sanderson wrote: > > >>>=C2=A0 =C2=A0 =C2=A0> > > > >>>=C2=A0 =C2=A0 =C2=A0> > > > >>>=C2=A0 =C2=A0 =C2=A0> > On Wed, Jan 29, 2020 at 2:31 AM David Hi= ldenbrand < > david@redhat.com > > >>>=C2=A0 =C2=A0 =C2=A0> > > wrote: > > >>>=C2=A0 =C2=A0 =C2=A0> > > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0On 29.01.20 01:22, Ty= ler Sanderson via Virtualization > wrote: > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> A primary advantage= of virtio balloon over other memory > reclaim > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> mechanisms is that = it can pressure the guest's page > cache into > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0shrinking. > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> However, since the = balloon driver changed to using the > shrinker > > >>>=C2=A0 =C2=A0 =C2=A0API > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> > > >>>=C2=A0 =C2=A0 =C2=A0> > > > >>>=C2=A0 =C2=A0 =C2=A0> 71994620bb25a8b109388fefa9 > > >>>=C2=A0 =C2=A0 =C2=A0> e99a28e355255a#diff-fd202acf694d9eba19c8c6= 4da3e480c9> this > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> use case has become= a bit more tricky. I'm wondering > what the > > >>>=C2=A0 =C2=A0 =C2=A0> intended > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> device implementati= on is. > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> When inflating the = balloon against page cache (i.e. no > free > > >>>=C2=A0 =C2=A0 =C2=A0memory > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> remains) vmscan.c w= ill both shrink page cache, but also > invoke > > >>>=C2=A0 =C2=A0 =C2=A0the > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> shrinkers -- includ= ing the balloon's shrinker. So the > balloon > > >>>=C2=A0 =C2=A0 =C2=A0driver > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> allocates memory wh= ich requires reclaim, vmscan gets > this memory > > >>>=C2=A0 =C2=A0 =C2=A0> by > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> shrinking the ballo= on, and then the driver adds the > memory back > > >>>=C2=A0 =C2=A0 =C2=A0to > > >>>=C2=A0 =C2=A0 =C2=A0> the > > >>>=C2=A0 =C2=A0 =C2=A0> >=C2=A0 =C2=A0 =C2=A0> balloon. Basically = a busy no-op. > > >>> > > >>>=C2=A0 =C2=A0 =C2=A0Per my understanding, the balloon allocation= won=E2=80=99t invoke > shrinker as > > >>>=C2=A0 =C2=A0 =C2=A0__GFP_DIRECT_RECLAIM isn't set, no? > > >>> > > >>> I could be wrong about the mechanism, but the device sees lots = of > activity on > > >>> the deflate queue. The balloon is being shrunk. And this only s= tarts > once all > > >>> free memory is depleted and we're inflating into page cache. > > >> > > >> So given this looks like a regression, maybe we should revert th= e > > >> patch in question 71994620bb25 ("virtio_balloon: replace oom not= ifier > with shrinker") > > >> Besides, with VIRTIO_BALLOON_F_FREE_PAGE_HINT > > >> shrinker also ignores VIRTIO_BALLOON_F_MUST_TELL_HOST which isn'= t nice > > >> at all. > > >> > > >> So it looks like all this rework introduced more issues than it > > >> addressed ... > > >> > > >> I also CC Alex Duyck for an opinion on this. > > >> Alex, what do you use to put pressure on page cache? > > > > > > I would say reverting probably makes sense. I'm not sure there is= much > > > value to having a shrinker running deflation when you are activel= y > trying > > > to increase the balloon. It would make more sense to wait until y= ou are > > > actually about to start hitting oom. > > > > I think the shrinker makes sense for free page hinting feature > > (everything on free_page_list). > > > > So instead of only reverting, I think we should split it up and alw= ays > > register the shrinker for VIRTIO_BALLOON_F_FREE_PAGE_HINT and the O= OM > > notifier (as before) for VIRTIO_BALLOON_F_MUST_TELL_HOST. >=20 > OK ... I guess that means we need to fix shrinker to take > VIRTIO_BALLOON_F_MUST_TELL_HOST into account correctly. > Hosts ignore it at the moment but it's a fragile thing > to do what it does and ignore used buffers. >=20 > > (Of course, adapting what is being done in the shrinker and in the = OOM > > notifier) > > > > -- > > Thanks, > > > > David / dhildenb >=20 >=20