lkml.org 
[lkml]   [2011]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 5/8] mm/slub: Factor out some common code.
On Mon, 14 Mar 2011, George Spelvin wrote:

> For sysfs files that map a boolean to a flags bit.

Where's your signed-off-by?

> ---
> mm/slub.c | 93 ++++++++++++++++++++++++++++--------------------------------
> 1 files changed, 43 insertions(+), 50 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index e15aa7f..856246f 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -3982,38 +3982,61 @@ static ssize_t objects_partial_show(struct kmem_cache *s, char *buf)
> }
> SLAB_ATTR_RO(objects_partial);
>
> +static ssize_t flag_show(struct kmem_cache *s, char *buf, unsigned flag)
> +{
> + return sprintf(buf, "%d\n", !!(s->flags & flag));
> +}
> +
> +static ssize_t flag_store(struct kmem_cache *s,
> + const char *buf, size_t length, unsigned flag)
> +{
> + s->flags &= ~flag;
> + if (buf[0] == '1')
> + s->flags |= flag;
> + return length;
> +}
> +
> +/* Like above, but changes allocation size; so only allowed on empty slab */
> +static ssize_t flag_store_sizechange(struct kmem_cache *s,
> + const char *buf, size_t length, unsigned flag)
> +{
> + if (any_slab_objects(s))
> + return -EBUSY;
> +
> + flag_store(s, buf, length, flag);
> + calculate_sizes(s, -1);
> + return length;
> +}
> +

Nice cleanup.

"flag" should be unsigned long in all of these functions: the constants
are declared with UL suffixes in slab.h.

After that's fixed,

Acked-by: David Rientjes <rientjes@google.com>


\
 
 \ /
  Last update: 2011-03-16 21:31    [from the cache]
©2003-2011 Jasper Spaans