All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Guo Ren <guoren@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Linux List Kernel Mailing <linux-kernel@vger.kernel.org>
Subject: Re: Linux 5.0-rc1 (test results)
Date: Tue, 8 Jan 2019 18:29:45 +0100	[thread overview]
Message-ID: <20190108172945.GG31793@dhcp22.suse.cz> (raw)
In-Reply-To: <20190108161659.GA26358@guoren-Inspiron-7460>

On Wed 09-01-19 00:16:59, Guo Ren wrote:
> Thx Michal,
> 
> On Tue, Jan 08, 2019 at 04:40:31PM +0100, Michal Hocko wrote:
> > On Tue 08-01-19 17:51:07, Guo Ren wrote:
> > [...]
> > > static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
> > > {
> > > 	pte_t *pte;
> > > 	unsigned long i;
> > > 
> > > 	pte = (pte_t *) __get_free_page(GFP_KERNEL | __GFP_RETRY_MAYFAIL);
> > > 						     ^^^^^^^^^^^^^^^^^^^
> > > 						     It's necessary ?
> > > 						     x86 & arm don't use
> > > 						     it.
> > > 	if (!pte)
> > > 		return NULL;
> > 
> > That depends on whether you want OOM killer to be triggered for these
> > allocations. If you add the flag then the allocation bails out with a
> > failure rather than kill an oom victim.
> 
> Yes, in page_alloc.c: 
> 	if (gfp_mask & __GFP_RETRY_MAYFAIL)
> 		goto out;
> 	...
> 	if (out_of_memory(&oc) || WARN_ON_ONCE(gfp_mask & __GFP_NOFAIL)) {
>             ^^^^^^^^^^^^^ OOM kill victim
> 	...
> 		if (gfp_mask & __GFP_NOFAIL)
> 			page = __alloc_pages_cpuset_fallback(gfp_mask, order,
> 					ALLOC_NO_WATERMARKS, ac);
> 	}

Btw. we have that nice documentation in gfp.h. I would encourage you to
read through that rather than try to imply the semantic from the
implementation.

> Seems it could affect the behavior of the system which is out of memory.
> OOM killer could help to get_page for current. So keep the same as x86 &
> arm here. I'll remove __GFP_RETRY_MAYFAIL in patch.

OK

-- 
Michal Hocko
SUSE Labs

  reply	other threads:[~2019-01-08 17:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07  2:14 Linux 5.0-rc1 Linus Torvalds
2019-01-07  5:07 ` linux-next: stats (was: Linux 5.0-rc1) Stephen Rothwell
2019-01-07 19:26 ` Linux 5.0-rc1 (test results) Guenter Roeck
2019-01-07 23:21   ` Linus Torvalds
2019-01-08  9:51     ` Guo Ren
2019-01-08 15:40       ` Michal Hocko
2019-01-08 16:16         ` Guo Ren
2019-01-08 17:29           ` Michal Hocko [this message]
2019-02-09 19:42 ` Linux 5.0-rc1 Paul Bolle
2019-02-11  0:01   ` isdn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190108172945.GG31793@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=guoren@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.