lkml.org 
[lkml]   [2011]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] vmalloc: remove #ifdef in function body
From
Date
On Wed, 2011-12-21 at 14:17 +0900, Minchan Kim wrote:
> We don't like function body which include #ifdef.
[]
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
[]
> @@ -505,6 +505,7 @@ static void unmap_vmap_area(struct vmap_area *va)
> vunmap_page_range(va->va_start, va->va_end);
> }
>
> +#ifdef CONFIG_DEBUG_PAGEALLOC
> static void vmap_debug_free_range(unsigned long start, unsigned long end)
> {
> /*
> @@ -520,11 +521,15 @@ static void vmap_debug_free_range(unsigned long start, unsigned long end)
> * debugging doesn't do a broadcast TLB flush so it is a lot
> * faster).
> */
> -#ifdef CONFIG_DEBUG_PAGEALLOC
> vunmap_page_range(start, end);
> flush_tlb_kernel_range(start, end);
> -#endif
> }
> +#else
> +static inline void vmap_debug_free_range(unsigned long start,
> + unsigned long end)
> +{
> +}
> +#endif

I don't like this change.
I think it's perfectly good style to use:

1 void foo(args...)
2 {
3 #ifdef CONFIG_FOO
4 ...
5 #endif
6 }

instead of

1 #ifdef CONFIG_FOO
2 void foo(args...)
3 {
4 ...
5 }
6 #else
7 void foo(args...)
8 {
9 }
10 #endif

The first version is shorter and gcc optimizes
away the void func just fine. It also means
that 2 function prototypes don't need to be
kept in agreement when someone changes one
without testing CONFIG_FOO=y and CONFIG_FOO=n.




\
 
 \ /
  Last update: 2011-12-21 06:33    [W:0.070 / U:0.496 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site