xfs
[Top] [All Lists]

Re: [PATCH] xfs: simplify kmem_{zone_}zalloc

To: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] xfs: simplify kmem_{zone_}zalloc
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Sat, 2 Nov 2013 07:58:03 +1100
Cc: bpm@xxxxxxx, elder@xxxxxxxxxx, linux-kernel <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <52738187.1000807@xxxxxxxxxxxxxx>
References: <52738187.1000807@xxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Nov 01, 2013 at 06:25:11PM +0800, Gu Zheng wrote:
> Introduce flag KM_ZERO which is used to alloc zeroed entry, and convert
> kmem_{zone_}zalloc to call kmem_{zone_}alloc() with KM_ZERO directly,
> in order to avoid the setting to zero step.
> 
> 
> Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
> ---
>  fs/xfs/kmem.c |   14 ++------------
>  fs/xfs/kmem.h |    7 ++++++-
>  2 files changed, 8 insertions(+), 13 deletions(-)
> 
> diff --git a/fs/xfs/kmem.c b/fs/xfs/kmem.c
> index a02cfb9..d56fcc9 100644
> --- a/fs/xfs/kmem.c
> +++ b/fs/xfs/kmem.c
> @@ -65,12 +65,7 @@ kmem_alloc(size_t size, xfs_km_flags_t flags)
>  void *
>  kmem_zalloc(size_t size, xfs_km_flags_t flags)
>  {
> -     void    *ptr;
> -
> -     ptr = kmem_alloc(size, flags);
> -     if (ptr)
> -             memset((char *)ptr, 0, (int)size);
> -     return ptr;
> +     return kmem_alloc(size, flags | KM_ZERO);
>  }
>  
>  void *
> @@ -132,10 +127,5 @@ kmem_zone_alloc(kmem_zone_t *zone, xfs_km_flags_t flags)
>  void *
>  kmem_zone_zalloc(kmem_zone_t *zone, xfs_km_flags_t flags)
>  {
> -     void    *ptr;
> -
> -     ptr = kmem_zone_alloc(zone, flags);
> -     if (ptr)
> -             memset((char *)ptr, 0, kmem_cache_size(zone));
> -     return ptr;
> +     return kmem_zone_alloc(zone, flags | KM_ZERO);
>  }

These functions should be made static inline functions in kmem.h
seeing as they are now just a simple wrapper.

Otherwise it's a nice cleanup.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>