All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Mel Gorman <mel@skynet.ie>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Daniel Phillips <phillips@google.com>,
	linux-mm <linux-mm@kvack.org>
Subject: Re: [PATCH] add __GFP_ZERO to GFP_LEVEL_MASK
Date: Tue, 24 Jul 2007 12:07:51 -0700	[thread overview]
Message-ID: <20070724120751.401bcbcb@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0707240030110.3295@schroedinger.engr.sgi.com>

GFP_LEVEL_MASK is used to allow the pass through of page allocator
flags. Currently these are

#define GFP_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS| \
                        __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT| \
                        __GFP_NOFAIL|__GFP_NORETRY|__GFP_COMP| \
                        __GFP_NOMEMALLOC|__GFP_HARDWALL|__GFP_THISNODE|
			__GFP_MOVABLE)

Some of these flags control page allocator reclaim and fallback
behavior. If they are specified for a slab alloc operation then they
are effective if a new slab has to be allocated. These are

1. Reclaim control

__GFP_WAIT
__GFP_IO
__GFP_FS
__GFP_NOWARN
__GFP_REPEAT
__GFP_NOFAIL
__GFP_NORETRY

2. Reserve control

__GFP_HIGH
__GFP_NOMEMALLOC

2. Fallback control

__GFP_HARDWALL	(cpuset contraints)
__GFP_THISNODE (handled by SLAB on its own, SLUB/SLOB pass through)

AFAIK these make sense.

Then there are some other flags. I am wondering why they are in
GFP_LEVEL_MASK?

__GFP_COLD	Does not make sense for slab allocators since we have
		to touch the page immediately.

__GFP_COMP	No effect. Added by the page allocator on their own
		if a higher order allocs are used for a slab.

__GFP_MOVABLE	The movability of a slab is determined by the
		options specified at kmem_cache_create time. If this is
		specified at kmalloc time then we will have some random
		slabs movable and others not. 


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Lameter <clameter@sgi.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Mel Gorman <mel@skynet.ie>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Daniel Phillips <phillips@google.com>,
	linux-mm <linux-mm@kvack.org>
Subject: Re: [PATCH] add __GFP_ZERO to GFP_LEVEL_MASK
Date: Tue, 24 Jul 2007 12:07:51 -0700	[thread overview]
Message-ID: <20070724120751.401bcbcb@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0707240030110.3295@schroedinger.engr.sgi.com>

GFP_LEVEL_MASK is used to allow the pass through of page allocator
flags. Currently these are

#define GFP_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS| \
                        __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT| \
                        __GFP_NOFAIL|__GFP_NORETRY|__GFP_COMP| \
                        __GFP_NOMEMALLOC|__GFP_HARDWALL|__GFP_THISNODE|
			__GFP_MOVABLE)

Some of these flags control page allocator reclaim and fallback
behavior. If they are specified for a slab alloc operation then they
are effective if a new slab has to be allocated. These are

1. Reclaim control

__GFP_WAIT
__GFP_IO
__GFP_FS
__GFP_NOWARN
__GFP_REPEAT
__GFP_NOFAIL
__GFP_NORETRY

2. Reserve control

__GFP_HIGH
__GFP_NOMEMALLOC

2. Fallback control

__GFP_HARDWALL	(cpuset contraints)
__GFP_THISNODE (handled by SLAB on its own, SLUB/SLOB pass through)

AFAIK these make sense.

Then there are some other flags. I am wondering why they are in
GFP_LEVEL_MASK?

__GFP_COLD	Does not make sense for slab allocators since we have
		to touch the page immediately.

__GFP_COMP	No effect. Added by the page allocator on their own
		if a higher order allocs are used for a slab.

__GFP_MOVABLE	The movability of a slab is determined by the
		options specified at kmem_cache_create time. If this is
		specified at kmalloc time then we will have some random
		slabs movable and others not. 

--
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:[~2007-07-24 19:08 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-23 10:03 [PATCH] add __GFP_ZERP to GFP_LEVEL_MASK Peter Zijlstra
2007-07-23 10:03 ` Peter Zijlstra
2007-07-23 11:21 ` Mel Gorman
2007-07-23 11:21   ` Mel Gorman
2007-07-23 11:38   ` [PATCH] add __GFP_ZERO " Peter Zijlstra
2007-07-23 11:38     ` Peter Zijlstra
2007-07-23 12:30     ` Mel Gorman
2007-07-23 12:30       ` Mel Gorman
2007-07-23 23:17     ` Christoph Lameter
2007-07-23 23:17       ` Christoph Lameter
2007-07-24  6:01       ` Peter Zijlstra
2007-07-24  6:01         ` Peter Zijlstra
2007-07-24  6:48         ` Peter Zijlstra
2007-07-24  6:48           ` Peter Zijlstra
2007-07-24  7:14           ` Christoph Lameter
2007-07-24  7:14             ` Christoph Lameter
2007-07-24  7:09         ` Christoph Lameter
2007-07-24  7:09           ` Christoph Lameter
2007-07-24  7:24           ` Peter Zijlstra
2007-07-24  7:24             ` Peter Zijlstra
2007-07-24  7:35             ` Christoph Lameter
2007-07-24  7:35               ` Christoph Lameter
2007-07-24 19:07               ` Christoph Lameter [this message]
2007-07-24 19:07                 ` Christoph Lameter
2007-07-24 19:25                 ` Andrew Morton
2007-07-24 19:25                   ` Andrew Morton
2007-07-24 19:36                   ` Christoph Lameter
2007-07-24 19:36                     ` Christoph Lameter
2007-07-24 22:10                     ` Andrew Morton
2007-07-24 22:10                       ` Andrew Morton
2007-07-24 23:00                       ` Christoph Lameter
2007-07-24 23:00                         ` Christoph Lameter
2007-07-24 23:12                         ` Andrew Morton
2007-07-24 23:12                           ` Andrew Morton
2007-07-24 23:58                           ` Christoph Lameter
2007-07-24 23:58                             ` Christoph Lameter
2007-07-25  0:06                             ` Andrew Morton
2007-07-25  0:06                               ` Andrew Morton
2007-07-25 13:06                   ` Mel Gorman
2007-07-25 13:06                     ` Mel Gorman
2007-07-23 18:37 ` [PATCH] add __GFP_ZERP " Andrew Morton
2007-07-23 18:37   ` Andrew Morton
2007-07-23 18:40   ` Peter Zijlstra
2007-07-23 18:40     ` Peter Zijlstra
2007-07-23 21:43     ` Christoph Lameter
2007-07-23 21:43       ` Christoph Lameter
2007-07-23 22:13       ` Andrew Morton
2007-07-23 22:13         ` Andrew Morton
2007-07-23 22:41         ` Linus Torvalds
2007-07-23 22:41           ` Linus Torvalds
2007-07-23 22:56           ` Andrew Morton
2007-07-23 22:56             ` Andrew Morton
2007-07-23 23:00             ` Christoph Lameter
2007-07-23 23:00               ` Christoph Lameter
2007-07-23 22:50         ` Christoph Lameter
2007-07-23 22:50           ` Christoph Lameter

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=20070724120751.401bcbcb@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mel@skynet.ie \
    --cc=phillips@google.com \
    --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.