linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Richard Henderson <rth@twiddle.net>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@arm.linux.org.uk>,
	Mikael Starvik <starvik@axis.com>,
	Jesper Nilsson <jesper.nilsson@axis.com>,
	David Howells <dhowells@redhat.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Roman Zippel <zippel@linux-m68k.org>,
	Michal Simek <monstr@monstr.eu>,
	Koichi Yasutake <yasutake.koichi@jp.panasonic.com>,
	Kyle McMartin <kyle@mcmartin.ca>, Helge Deller <deller@gmx.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Paul Mundt <lethal@linux-sh.org>,
	"David S. Miller" <davem@davemloft.net>,
	Jeff Dike <jdike@addtoit.com>, Ingo Molnar <mingo@redhat.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arch@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [patch] arch: remove __GFP_REPEAT for order-0 allocations
Date: Tue, 28 Sep 2010 16:12:26 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.00.1009281605180.24817@chino.kir.corp.google.com> (raw)
In-Reply-To: <20100928155326.9ded5a92.akpm@linux-foundation.org>

On Tue, 28 Sep 2010, Andrew Morton wrote:

> > So we can definitely remove __GFP_REPEAT for any order-0 allocation and 
> > it's based on its implementation -- poorly defined as it may be -- and the 
> > inherit design of any sane page allocator that retries such an allocation 
> > if it's going to use reclaim in the first place.
> 
> Why was __GFP_REPEAT used in those callsites?  What were people trying
> to achieve?
> 

I can't predict what they were trying to achieve since the documentation 
varies on the semantics of __GFP_REPEAT, but the actual implementation 
would suggest that we want to ensure that reclaim actually frees memory 
before we fail the allocation, and that was probably done before it was 
decided to implicitly loop already for order-3 and smaller allocations and 
prehaps even predates the oom killer.

With the oom killer, which would be used iff direct reclaim failed for the 
allocs touched in this patch, we can't report how much memory may be freed 
when that killed task exits, so we implicitly loop forever regardless of 
__GFP_REPEAT (and for a reason other than PAGE_ALLOC_COSTLY_ORDER: if the 
oom killer kills or finds a task that has already been killed but yet to 
exit, it automatically retries the allocation waiting for that free memory 
without even looking at should_alloc_retry()).

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-09-28 23:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-28 10:45 David Rientjes
2010-09-28 21:36 ` Andrew Morton
2010-09-28 21:57   ` Russell King - ARM Linux
2010-09-28 22:47   ` David Rientjes
2010-09-28 22:53     ` Andrew Morton
2010-09-28 23:12       ` David Rientjes [this message]
2010-09-28 23:40         ` Andrew Morton
2010-09-28 23:52           ` David Rientjes
2010-09-29  0:41             ` Andrew Morton
2010-09-29  1:10               ` David Rientjes

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=alpine.DEB.2.00.1009281605180.24817@chino.kir.corp.google.com \
    --to=rientjes@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=dhowells@redhat.com \
    --cc=geert@linux-m68k.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jdike@addtoit.com \
    --cc=jesper.nilsson@axis.com \
    --cc=kyle@mcmartin.ca \
    --cc=lethal@linux-sh.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=paulus@samba.org \
    --cc=rth@twiddle.net \
    --cc=schwidefsky@de.ibm.com \
    --cc=starvik@axis.com \
    --cc=tglx@linutronix.de \
    --cc=yasutake.koichi@jp.panasonic.com \
    --cc=zippel@linux-m68k.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox