From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tetsuo Handa Subject: [RFC] [PATCH] mm, oom: Offload OOM notify callback to a kernel thread. Date: Sun, 1 Oct 2017 14:44:34 +0900 Message-ID: <201710011444.IBD05725.VJSFHOOMOFtLQF@I-love.SAKURA.ne.jp> References: <201709111927.IDD00574.tFVJHLOSOOMQFF@I-love.SAKURA.ne.jp> <20170929065654-mutt-send-email-mst@kernel.org> <201709291344.FID60965.VHtMQFFJFSLOOO@I-love.SAKURA.ne.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201709291344.FID60965.VHtMQFFJFSLOOO@I-love.SAKURA.ne.jp> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: mst@redhat.com Cc: airlied@linux.ie, jasowang@redhat.com, jiangshanlai@gmail.com, josh@joshtriplett.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, mathieu.desnoyers@efficios.com, rostedt@goodmis.org, rodrigo.vivi@intel.com, paulmck@linux.vnet.ibm.com, intel-gfx@lists.freedesktop.org List-Id: linux-mm.kvack.org VGV0c3VvIEhhbmRhIHdyb3RlOgo+IE1pY2hhZWwgUy4gVHNpcmtpbiB3cm90ZToKPiA+IE9uIE1v biwgU2VwIDExLCAyMDE3IGF0IDA3OjI3OjE5UE0gKzA5MDAsIFRldHN1byBIYW5kYSB3cm90ZToK PiA+ID4gSGVsbG8uCj4gPiA+IAo+ID4gPiBJIG5vdGljZWQgdGhhdCB2aXJ0aW9fYmFsbG9vbiBp cyB1c2luZyByZWdpc3Rlcl9vb21fbm90aWZpZXIoKSBhbmQKPiA+ID4gbGVha19iYWxsb29uKCkg ZnJvbSB2aXJ0YmFsbG9vbl9vb21fbm90aWZ5KCkgbWlnaHQgZGVwZW5kIG9uCj4gPiA+IF9fR0ZQ X0RJUkVDVF9SRUNMQUlNIG1lbW9yeSBhbGxvY2F0aW9uLgo+ID4gPiAKPiA+ID4gSW4gbGVha19i YWxsb29uKCksIG11dGV4X2xvY2soJnZiLT5iYWxsb29uX2xvY2spIGlzIGNhbGxlZCBpbiBvcmRl ciB0bwo+ID4gPiBzZXJpYWxpemUgYWdhaW5zdCBmaWxsX2JhbGxvb24oKS4gQnV0IGluIGZpbGxf YmFsbG9vbigpLAo+ID4gPiBhbGxvY19wYWdlKEdGUF9ISUdIVVNFUltfTU9WQUJMRV0gfCBfX0dG UF9OT01FTUFMTE9DIHwgX19HRlBfTk9SRVRSWSkgaXMKPiA+ID4gY2FsbGVkIHdpdGggdmItPmJh bGxvb25fbG9jayBtdXRleCBoZWxkLiBTaW5jZSBHRlBfSElHSFVTRVJbX01PVkFCTEVdIGltcGxp ZXMKPiA+ID4gX19HRlBfRElSRUNUX1JFQ0xBSU0gfCBfX0dGUF9JTyB8IF9fR0ZQX0ZTLCB0aGlz IGFsbG9jYXRpb24gYXR0ZW1wdCBtaWdodAo+ID4gPiBkZXBlbmQgb24gc29tZWJvZHkgZWxzZSdz IF9fR0ZQX0RJUkVDVF9SRUNMQUlNIHwgIV9fR0ZQX05PUkVUUlkgbWVtb3J5Cj4gPiA+IGFsbG9j YXRpb24uIFN1Y2ggX19HRlBfRElSRUNUX1JFQ0xBSU0gfCAhX19HRlBfTk9SRVRSWSBhbGxvY2F0 aW9uIGNhbiByZWFjaAo+ID4gPiBfX2FsbG9jX3BhZ2VzX21heV9vb20oKSBhbmQgaG9sZCBvb21f bG9jayBtdXRleCBhbmQgY2FsbCBvdXRfb2ZfbWVtb3J5KCkuCj4gPiA+IEFuZCBsZWFrX2JhbGxv b24oKSBpcyBjYWxsZWQgYnkgdmlydGJhbGxvb25fb29tX25vdGlmeSgpIHZpYQo+ID4gPiBibG9j a2luZ19ub3RpZmllcl9jYWxsX2NoYWluKCkgY2FsbGJhY2sgd2hlbiB2Yi0+YmFsbG9vbl9sb2Nr IG11dGV4IGlzIGFscmVhZHkKPiA+ID4gaGVsZCBieSBmaWxsX2JhbGxvb24oKS4gQXMgYSByZXN1 bHQsIGRlc3BpdGUgX19HRlBfTk9SRVRSWSBpcyBzcGVjaWZpZWQsCj4gPiA+IGZpbGxfYmFsbG9v bigpIGNhbiBpbmRpcmVjdGx5IGdldCBzdHVjayB3YWl0aW5nIGZvciB2Yi0+YmFsbG9vbl9sb2Nr IG11dGV4Cj4gPiA+IGF0IGxlYWtfYmFsbG9vbigpLgo+ID4gCj4gPiBUaGF0IHdvdWxkIGJlIHRy aWNreSB0byBmaXguIEkgZ3Vlc3Mgd2UnbGwgbmVlZCB0byBkcm9wIHRoZSBsb2NrCj4gPiB3aGls ZSBhbGxvY2F0aW5nIG1lbW9yeSAtIG5vdCBhbiBlYXN5IGZpeC4KPiA+IAo+ID4gPiBBbHNvLCBp biBsZWFrX2JhbGxvb24oKSwgdmlydHF1ZXVlX2FkZF9vdXRidWYoR0ZQX0tFUk5FTCkgaXMgY2Fs bGVkIHZpYQo+ID4gPiB0ZWxsX2hvc3QoKS4gUmVhY2hpbmcgX19hbGxvY19wYWdlc19tYXlfb29t KCkgZnJvbSB0aGlzIHZpcnRxdWV1ZV9hZGRfb3V0YnVmKCkKPiA+ID4gcmVxdWVzdCBmcm9tIGxl YWtfYmFsbG9vbigpIGZyb20gdmlydGJhbGxvb25fb29tX25vdGlmeSgpIGZyb20KPiA+ID4gYmxv Y2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbigpIGZyb20gb3V0X29mX21lbW9yeSgpIGxlYWRzIHRv IE9PTSBsb2NrdXAKPiA+ID4gYmVjYXVzZSBvb21fbG9jayBtdXRleCBpcyBhbHJlYWR5IGhlbGQg YmVmb3JlIGNhbGxpbmcgb3V0X29mX21lbW9yeSgpLgo+ID4gCj4gPiBJIGd1ZXNzIHdlIHNob3Vs ZCBqdXN0IGRvCj4gPiAKPiA+IEdGUF9LRVJORUwgJiB+X19HRlBfRElSRUNUX1JFQ0xBSU0gdGhl cmUgdGhlbj8KPiAKPiBZZXMsIGJ1dCBHRlBfS0VSTkVMICYgfl9fR0ZQX0RJUkVDVF9SRUNMQUlN IHdpbGwgZWZmZWN0aXZlbHkgYmUgR0ZQX05PV0FJVCwgZm9yCj4gX19HRlBfSU8gYW5kIF9fR0ZQ X0ZTIHdvbid0IG1ha2Ugc2Vuc2Ugd2l0aG91dCBfX0dGUF9ESVJFQ1RfUkVDTEFJTS4gSXQgbWln aHQKPiBzaWduaWZpY2FudGx5IGluY3JlYXNlcyBwb3NzaWJpbGl0eSBvZiBtZW1vcnkgYWxsb2Nh dGlvbiBmYWlsdXJlLgo+IAo+ID4gCj4gPiAKPiA+ID4gCj4gPiA+IE9PTSBub3RpZmllciBjYWxs YmFjayBzaG91bGQgbm90IChkaXJlY3RseSBvciBpbmRpcmVjdGx5KSBkZXBlbmQgb24KPiA+ID4g X19HRlBfRElSRUNUX1JFQ0xBSU0gbWVtb3J5IGFsbG9jYXRpb24gYXR0ZW1wdC4gQ2FuIHlvdSBm aXggdGhpcyBkZXBlbmRlbmN5Pwo+ID4gCj4gCj4gQW5vdGhlciBpZGVhIHdvdWxkIGJlIHRvIHVz ZSBhIGtlcm5lbCB0aHJlYWQgKG9yIHdvcmtxdWV1ZSkgc28gdGhhdAo+IHZpcnRiYWxsb29uX29v bV9ub3RpZnkoKSBjYW4gd2FpdCB3aXRoIHRpbWVvdXQuCj4gCj4gV2UgY291bGQgb2ZmbG9hZCBl bnRpcmUgYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbigmb29tX25vdGlmeV9saXN0LCAwLCAm ZnJlZWQpCj4gY2FsbCB0byBhIGtlcm5lbCB0aHJlYWQgKG9yIHdvcmtxdWV1ZSkgd2l0aCB0aW1l b3V0IGlmIE1NIGZvbGtzIGFncmVlLgo+IAoKQmVsb3cgaXMgYSBwYXRjaCB3aGljaCBvZmZsb2Fk cyBibG9ja2luZ19ub3RpZmllcl9jYWxsX2NoYWluKCkgY2FsbC4gV2hhdCBkbyB5b3UgdGhpbms/ Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KW1JGQ10gW1BBVENIXSBt bSxvb206IE9mZmxvYWQgT09NIG5vdGlmeSBjYWxsYmFjayB0byBhIGtlcm5lbCB0aHJlYWQuCgpT aW5jZSBvb21fbm90aWZ5X2xpc3QgaXMgdHJhdmVyc2VkIHZpYSBibG9ja2luZ19ub3RpZmllcl9j YWxsX2NoYWluKCksCml0IGlzIGxlZ2FsIHRvIHNsZWVwIGluc2lkZSBPT00gbm90aWZpZXIgY2Fs bGJhY2sgZnVuY3Rpb24uCgpIb3dldmVyLCBzaW5jZSBvb21fbm90aWZ5X2xpc3QgaXMgdHJhdmVy c2VkIHdpdGggb29tX2xvY2sgaGVsZCwKX19HRlBfRElSRUNUX1JFQ0xBSU0gJiYgIV9fR0ZQX05P UkVUUlkgbWVtb3J5IGFsbG9jYXRpb24gYXR0ZW1wdCBjYW5ub3QKZmFpbCB3aGVuIHRyYXZlcnNp bmcgb29tX25vdGlmeV9saXN0IGVudHJpZXMuIFRoZXJlZm9yZSwgT09NIG5vdGlmaWVyCmNhbGxi YWNrIGZ1bmN0aW9uIHNob3VsZCBub3QgKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpIGRlcGVuZCBv bgpfX0dGUF9ESVJFQ1RfUkVDTEFJTSAmJiAhX19HRlBfTk9SRVRSWSBtZW1vcnkgYWxsb2NhdGlv biBhdHRlbXB0LgoKQ3VycmVudGx5IHRoZXJlIGFyZSA1IHJlZ2lzdGVyX29vbV9ub3RpZmllcigp IHVzZXJzIGluIHRoZSBtYWlubGluZSBrZXJuZWwuCgogIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMv cHNlcmllcy9jbW0uYwogIGFyY2gvczM5MC9tbS9jbW0uYwogIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3Nocmlua2VyLmMKICBkcml2ZXJzL3ZpcnRpby92aXJ0aW9fYmFsbG9vbi5jCiAg a2VybmVsL3JjdS90cmVlX3BsdWdpbi5oCgpBbW9uZyB0aGVzZSB1c2VycywgYXQgbGVhc3Qgdmly dGlvX2JhbGxvb24uYyBoYXMgcG9zc2liaWxpdHkgb2YgT09NIGxvY2t1cApiZWNhdXNlIGl0IGlz IHVzaW5nIG11dGV4IHdoaWNoIGNhbiBkZXBlbmQgb24gR0ZQX0tFUk5FTCBtZW1vcnkgYWxsb2Nh dGlvbnMuCihCb3RoIGNtbS5jIHNlZW0gdG8gYmUgc2FmZSBhcyB0aGV5IHVzZSBzcGlubG9ja3Mu IEknbSBub3Qgc3VyZSBhYm91dAp0cmVlX3BsdWdpbi5oIGFuZCBpOTE1X2dlbV9zaHJpbmtlci5j IC4gUGxlYXNlIGNoZWNrLikKCkJ1dCBjb252ZXJ0aW5nIHN1Y2ggYWxsb2NhdGlvbnMgdG8gdXNl IEdGUF9OT1dBSVQgaXMgbm90IG9ubHkgcHJvbmUgdG8KYWxsb2NhdGlvbiBmYWlsdXJlcyB1bmRl ciBtZW1vcnkgcHJlc3N1cmUgYnV0IGFsc28gZGlmZmljdWx0IHRvIGF1ZGl0CndoZXRoZXIgYWxs IGxvY2F0aW9ucyBhcmUgY29udmVydGVkIHRvIHVzZSBHRlBfTk9XQUlULgoKVGhlcmVmb3JlLCB0 aGlzIHBhdGNoIG9mZmxvYWRzIGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4oKSBjYWxsIHRv IGEKZGVkaWNhdGVkIGtlcm5lbCB0aHJlYWQgYW5kIHdhaXQgZm9yIGNvbXBsZXRpb24gd2l0aCB0 aW1lb3V0IG9mIDUgc2Vjb25kcwpzbyB0aGF0IHdlIGNhbiBjb21wbGV0ZWx5IGZvcmdldCBhYm91 dCBwb3NzaWJpbGl0eSBvZiBPT00gbG9ja3VwIGR1ZSB0bwpPT00gbm90aWZpZXIgY2FsbGJhY2sg ZnVuY3Rpb24uCgooNSBzZWNvbmRzIGlzIGNob3NlbiBmcm9tIG15IGd1ZXNzIHRoYXQgYmxvY2tp bmdfbm90aWZpZXJfY2FsbF9jaGFpbigpCnNob3VsZCBub3QgdGFrZSBsb25nLCBmb3Igd2UgYXJl IHVzaW5nIG11dGV4X3RyeWxvY2soJm9vbV9sb2NrKSBhdApfX2FsbG9jX3BhZ2VzX21heV9vb20o KSBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgb3V0X29mX21lbW9yeSgpIHNob3VsZApyZWNs YWltIG1lbW9yeSBzaG9ydGx5LikKClRoZSBrZXJuZWwgdGhyZWFkIGlzIGNyZWF0ZWQgdXBvbiBm aXJzdCByZWdpc3Rlcl9vb21fbm90aWZpZXIoKSBjYWxsLgpUaHVzLCB0aG9zZSBlbnZpcm9ubWVu dHMgd2hpY2ggZG8gbm90IHVzZSByZWdpc3Rlcl9vb21fbm90aWZpZXIoKSB3aWxsCm5vdCB3YXN0 ZSByZXNvdXJjZSBmb3IgdGhlIGRlZGljYXRlZCBrZXJuZWwgdGhyZWFkLgoKU2lnbmVkLW9mZi1i eTogVGV0c3VvIEhhbmRhIDxwZW5ndWluLWtlcm5lbEBJLWxvdmUuU0FLVVJBLm5lLmpwPgotLS0K IG1tL29vbV9raWxsLmMgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9tbS9vb21fa2lsbC5jIGIvbW0vb29tX2tpbGwuYwppbmRleCBkZWUwZjc1Li5k OTc0NGY3IDEwMDY0NAotLS0gYS9tbS9vb21fa2lsbC5jCisrKyBiL21tL29vbV9raWxsLmMKQEAg LTk4MSw5ICs5ODEsMzcgQEAgc3RhdGljIHZvaWQgY2hlY2tfcGFuaWNfb25fb29tKHN0cnVjdCBv b21fY29udHJvbCAqb2MsCiB9CiAKIHN0YXRpYyBCTE9DS0lOR19OT1RJRklFUl9IRUFEKG9vbV9u b3RpZnlfbGlzdCk7CitzdGF0aWMgYm9vbCBvb21fbm90aWZpZXJfcmVxdWVzdGVkOworc3RhdGlj IHVuc2lnbmVkIGxvbmcgb29tX25vdGlmaWVyX2ZyZWVkOworc3RhdGljIHN0cnVjdCB0YXNrX3N0 cnVjdCAqb29tX25vdGlmaWVyX3RoOworc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKG9v bV9ub3RpZmllcl9yZXF1ZXN0X3dhaXQpOworc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFE KG9vbV9ub3RpZmllcl9yZXNwb25zZV93YWl0KTsKKworc3RhdGljIGludCBvb21fbm90aWZpZXIo dm9pZCAqdW51c2VkKQoreworCXdoaWxlICh0cnVlKSB7CisJCXdhaXRfZXZlbnRfZnJlZXphYmxl KG9vbV9ub3RpZmllcl9yZXF1ZXN0X3dhaXQsCisJCQkJICAgICBvb21fbm90aWZpZXJfcmVxdWVz dGVkKTsKKwkJYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbigmb29tX25vdGlmeV9saXN0LCAw LAorCQkJCQkgICAgICZvb21fbm90aWZpZXJfZnJlZWQpOworCQlvb21fbm90aWZpZXJfcmVxdWVz dGVkID0gZmFsc2U7CisJCXdha2VfdXAoJm9vbV9ub3RpZmllcl9yZXNwb25zZV93YWl0KTsKKwl9 CisJcmV0dXJuIDA7Cit9CiAKIGludCByZWdpc3Rlcl9vb21fbm90aWZpZXIoc3RydWN0IG5vdGlm aWVyX2Jsb2NrICpuYikKIHsKKwlpZiAoIW9vbV9ub3RpZmllcl90aCkgeworCQlzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnRoID0ga3RocmVhZF9ydW4ob29tX25vdGlmaWVyLCBOVUxMLAorCQkJCQkJICAg ICAib29tX25vdGlmaWVyIik7CisKKwkJaWYgKElTX0VSUih0aCkpIHsKKwkJCXByX2VycigiVW5h YmxlIHRvIHN0YXJ0IE9PTSBub3RpZmllciB0aHJlYWQuXG4iKTsKKwkJCXJldHVybiAoaW50KSBQ VFJfRVJSKHRoKTsKKwkJfQorCQlvb21fbm90aWZpZXJfdGggPSB0aDsKKwl9CiAJcmV0dXJuIGJs b2NraW5nX25vdGlmaWVyX2NoYWluX3JlZ2lzdGVyKCZvb21fbm90aWZ5X2xpc3QsIG5iKTsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKHJlZ2lzdGVyX29vbV9ub3RpZmllcik7CkBAIC0xMDA1LDE3ICsx MDMzLDIxIEBAIGludCB1bnJlZ2lzdGVyX29vbV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgKm5iKQogICovCiBib29sIG91dF9vZl9tZW1vcnkoc3RydWN0IG9vbV9jb250cm9sICpvYykK IHsKLQl1bnNpZ25lZCBsb25nIGZyZWVkID0gMDsKIAllbnVtIG9vbV9jb25zdHJhaW50IGNvbnN0 cmFpbnQgPSBDT05TVFJBSU5UX05PTkU7CiAKIAlpZiAob29tX2tpbGxlcl9kaXNhYmxlZCkKIAkJ cmV0dXJuIGZhbHNlOwogCi0JaWYgKCFpc19tZW1jZ19vb20ob2MpKSB7Ci0JCWJsb2NraW5nX25v dGlmaWVyX2NhbGxfY2hhaW4oJm9vbV9ub3RpZnlfbGlzdCwgMCwgJmZyZWVkKTsKLQkJaWYgKGZy ZWVkID4gMCkKKwlpZiAoIWlzX21lbWNnX29vbShvYykgJiYgb29tX25vdGlmaWVyX3RoKSB7CisJ CW9vbV9ub3RpZmllcl9yZXF1ZXN0ZWQgPSB0cnVlOworCQl3YWtlX3VwKCZvb21fbm90aWZpZXJf cmVxdWVzdF93YWl0KTsKKwkJd2FpdF9ldmVudF90aW1lb3V0KG9vbV9ub3RpZmllcl9yZXNwb25z ZV93YWl0LAorCQkJCSAgICFvb21fbm90aWZpZXJfcmVxdWVzdGVkLCA1ICogSFopOworCQlpZiAo b29tX25vdGlmaWVyX2ZyZWVkKSB7CisJCQlvb21fbm90aWZpZXJfZnJlZWQgPSAwOwogCQkJLyog R290IHNvbWUgbWVtb3J5IGJhY2sgaW4gdGhlIGxhc3Qgc2Vjb25kLiAqLwogCQkJcmV0dXJuIHRy dWU7CisJCX0KIAl9CiAKIAkvKgotLSAKMS44LjMuMQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK