diff options
author | Lee Schermerhorn <lee.schermerhorn@hp.com> | 2008-04-28 05:13:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:23 -0400 |
commit | f0be3d32b05d3fea2fcdbbb81a39dac2a7163169 (patch) | |
tree | 5794ce6a8befbce82cd3e44ff15fbf3bb5f2f3bf /include/linux | |
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/linux')
-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; | |||
71 | * | 71 | * |
72 | * Freeing policy: | 72 | * Freeing policy: |
73 | * Mempolicy objects are reference counted. A mempolicy will be freed when | 73 | * Mempolicy objects are reference counted. A mempolicy will be freed when |
74 | * mpol_free() decrements the reference count to zero. | 74 | * mpol_put() decrements the reference count to zero. |
75 | * | 75 | * |
76 | * Copying policy objects: | 76 | * Copying policy objects: |
77 | * mpol_copy() allocates a new mempolicy and copies the specified mempolicy | 77 | * mpol_copy() allocates a new mempolicy and copies the specified mempolicy |
@@ -98,11 +98,11 @@ struct mempolicy { | |||
98 | * The default fast path of a NULL MPOL_DEFAULT policy is always inlined. | 98 | * The default fast path of a NULL MPOL_DEFAULT policy is always inlined. |
99 | */ | 99 | */ |
100 | 100 | ||
101 | extern void __mpol_free(struct mempolicy *pol); | 101 | extern void __mpol_put(struct mempolicy *pol); |
102 | static inline void mpol_free(struct mempolicy *pol) | 102 | static inline void mpol_put(struct mempolicy *pol) |
103 | { | 103 | { |
104 | if (pol) | 104 | if (pol) |
105 | __mpol_free(pol); | 105 | __mpol_put(pol); |
106 | } | 106 | } |
107 | 107 | ||
108 | extern struct mempolicy *__mpol_copy(struct mempolicy *pol); | 108 | extern struct mempolicy *__mpol_copy(struct mempolicy *pol); |
@@ -190,7 +190,7 @@ static inline int mpol_equal(struct mempolicy *a, struct mempolicy *b) | |||
190 | return 1; | 190 | return 1; |
191 | } | 191 | } |
192 | 192 | ||
193 | static inline void mpol_free(struct mempolicy *p) | 193 | static inline void mpol_put(struct mempolicy *p) |
194 | { | 194 | { |
195 | } | 195 | } |
196 | 196 | ||