diff options
author | Lee Schermerhorn | 2008-04-28 02:13:08 -0700 |
---|---|---|
committer | Linus Torvalds | 2008-04-28 08:58:23 -0700 |
commit | f0be3d32b05d3fea2fcdbbb81a39dac2a7163169 (patch) | |
tree | 5794ce6a8befbce82cd3e44ff15fbf3bb5f2f3bf /include | |
parent | 3b1163006332302117b1b2acf226d4014ff46525 (diff) |
mempolicy: rename mpol_free to mpol_put
This is a change that was requested some time ago by Mel Gorman. Makes sense
to me, so here it is.
Note: I retain the name "mpol_free_shared_policy()" because it actually does
free the shared_policy, which is NOT a reference counted object. However, ...
The mempolicy object[s] referenced by the shared_policy are reference counted,
so mpol_put() is used to release the reference held by the shared_policy. The
mempolicy might not be freed at this time, because some task attached to the
shared object associated with the shared policy may be in the process of
allocating a page based on the mempolicy. In that case, the task performing
the allocation will hold a reference on the mempolicy, obtained via
mpol_shared_policy_lookup(). The mempolicy will be freed when all tasks
holding such a reference have called mpol_put() for the mempolicy.
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mempolicy.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 319fd342b1b7..507bf5e29f24 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h @@ -71,7 +71,7 @@ struct mm_struct; * * Freeing policy: * Mempolicy objects are reference counted. A mempolicy will be freed when - * mpol_free() decrements the reference count to zero. + * mpol_put() decrements the reference count to zero. * * Copying policy objects: * mpol_copy() allocates a new mempolicy and copies the specified mempolicy @@ -98,11 +98,11 @@ struct mempolicy { * The default fast path of a NULL MPOL_DEFAULT policy is always inlined. */ -extern void __mpol_free(struct mempolicy *pol); -static inline void mpol_free(struct mempolicy *pol) +extern void __mpol_put(struct mempolicy *pol); +static inline void mpol_put(struct mempolicy *pol) { if (pol) - __mpol_free(pol); + __mpol_put(pol); } extern struct mempolicy *__mpol_copy(struct mempolicy *pol); @@ -190,7 +190,7 @@ static inline int mpol_equal(struct mempolicy *a, struct mempolicy *b) return 1; } -static inline void mpol_free(struct mempolicy *p) +static inline void mpol_put(struct mempolicy *p) { } |