Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2373036yba; Thu, 25 Apr 2019 15:31:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqwSN+Gt7oP7WbezG/2Phg5ehA09fGTkh814iIib+L8e1CoKxoyR5t12eKPHm3IsEjvQkBvN X-Received: by 2002:a17:902:1621:: with SMTP id g30mr41837785plg.168.1556231473642; Thu, 25 Apr 2019 15:31:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556231473; cv=none; d=google.com; s=arc-20160816; b=wo5erg1bYht24y/q/3CC+xiYr53vN2VsKwbhgGV2OzABvxGPTKvvTDw3zeIu6sgSI0 G7LYSDOJw5zn2LAeY46ABbwpLHawWV3y9oKWwD0qT3m0Ei1JeqNNiCQJQpmJkytXMQov UrPWT0XP9s0dFkfm2RDaMf5s0UKP//KWU2x+swDoR8vW0uE4mZ9cyj2/KW1gsdqTRz3S vX+YN0qSfROBversJR9HOp06PUmTXvqxzdtpnpBdCP1IkMLsmOR6Bf2v2CtMKMSTcWd5 syeMlMy9Gmv75Izt0ZlCPuycSXUevp3EmThQvO071Muvmz2+aaUTl2XmfM/ClgqwE1tR aLdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=sgWKsjsYrpKtKe767qgokEq8OVajFnZ4OEzAdmnqA6w=; b=iADQ8r9qwt3DLQkrvdhMrZEoJ4eb+uDOtSx6xVBwNiobGOMZHiVJYuo0CPwHwk35Ge SHkqXOFZuD79pbfgTS/fyCNrEL4goUiE7KPcSej7JhJ93pLZHHV8UgFDX4Qi8eC6FNB4 +Bov7ZBVYt9dlLOK76WNb0GvM5/j9TaB91ntKkM4rGTFvW5xZk4cyCuK1wr3BFs87nQE OuAZ513eAfIiHFBnKE7gsZAhhhcSxvjcd10lTATma8vxHkjFd0dXZTv0ucMkSKrPFKz5 7uNSKPS4PdiwDDFmPTB8PMMJzpsFA5WyXgKuFd0rCroIyXg3fCou9J2oCGs7NXNQ70lW bEJw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j25si22799859pgb.531.2019.04.25.15.30.58; Thu, 25 Apr 2019 15:31:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728634AbfDYVNt (ORCPT + 99 others); Thu, 25 Apr 2019 17:13:49 -0400 Received: from www262.sakura.ne.jp ([202.181.97.72]:58164 "EHLO www262.sakura.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726762AbfDYVNt (ORCPT ); Thu, 25 Apr 2019 17:13:49 -0400 Received: from fsav104.sakura.ne.jp (fsav104.sakura.ne.jp [27.133.134.231]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id x3PLCZWF022768; Fri, 26 Apr 2019 06:12:35 +0900 (JST) (envelope-from penguin-kernel@i-love.sakura.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav104.sakura.ne.jp (F-Secure/fsigk_smtp/530/fsav104.sakura.ne.jp); Fri, 26 Apr 2019 06:12:35 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/530/fsav104.sakura.ne.jp) Received: from [192.168.1.8] (softbank126012062002.bbtec.net [126.12.62.2]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id x3PLCTI4022751 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NO); Fri, 26 Apr 2019 06:12:34 +0900 (JST) (envelope-from penguin-kernel@i-love.sakura.ne.jp) Subject: Re: [RFC 1/2] mm: oom: expose expedite_reclaim to use oom_reaper outside of oom_kill.c To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, mhocko@suse.com, rientjes@google.com, willy@infradead.org, yuzhoujian@didichuxing.com, jrdr.linux@gmail.com, guro@fb.com, hannes@cmpxchg.org, ebiederm@xmission.com, shakeelb@google.com, christian@brauner.io, minchan@kernel.org, timmurray@google.com, dancol@google.com, joel@joelfernandes.org, jannh@google.com, linux-mm@kvack.org, lsf-pc@lists.linux-foundation.org, linux-kernel@vger.kernel.org, kernel-team@android.com References: <20190411014353.113252-1-surenb@google.com> <20190411014353.113252-2-surenb@google.com> From: Tetsuo Handa Message-ID: Date: Fri, 26 Apr 2019 06:12:27 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190411014353.113252-2-surenb@google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019/04/11 10:43, Suren Baghdasaryan wrote: > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > index 3a2484884cfd..6449710c8a06 100644 > --- a/mm/oom_kill.c > +++ b/mm/oom_kill.c > @@ -1102,6 +1102,21 @@ bool out_of_memory(struct oom_control *oc) > return !!oc->chosen; > } > > +bool expedite_reclaim(struct task_struct *task) > +{ > + bool res = false; > + > + task_lock(task); > + if (task_will_free_mem(task)) { mark_oom_victim() needs to be called under oom_lock mutex after checking that oom_killer_disabled == false. Since you are trying to trigger this function from signal handler, you might want to defer until e.g. WQ context. > + mark_oom_victim(task); > + wake_oom_reaper(task); > + res = true; > + } > + task_unlock(task); > + > + return res; > +} > + > /* > * The pagefault handler calls here because it is out of memory, so kill a > * memory-hogging task. If oom_lock is held by somebody else, a parallel oom >