lockdep: annotate reclaim context (__GFP_NOFS), fix
authorIngo Molnar <mingo@elte.hu>
Sun, 15 Feb 2009 20:18:17 +0000 (21:18 +0100)
committerIngo Molnar <mingo@elte.hu>
Sun, 15 Feb 2009 20:22:48 +0000 (21:22 +0100)
Impact: fix build warning

Fix:

  mm/vmscan.c: In function ‘kswapd’:
  mm/vmscan.c:1969: warning: ISO C90 forbids mixed declarations and code

node_to_cpumask_ptr(cpumask, pgdat->node_id), has a side-effect: it
defines the 'cpumask' local variable as well, so it has to go into
the variable definition section.

Sidenote: it might make sense to make this purpose of these macros
more apparent, by naming them the standard way, such as:

  DEFINE_node_to_cpumask_ptr(cpumask, pgdat->node_id);

(But that is outside the scope of this patch.)

Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Mike Travis <travis@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
mm/vmscan.c

index 303eb658b50bb7d3151c9a2016167223a7c25715..cf844134527759ced5c2093b89174779006c747d 100644 (file)
@@ -1963,11 +1963,10 @@ static int kswapd(void *p)
        struct reclaim_state reclaim_state = {
                .reclaimed_slab = 0,
        };
+       node_to_cpumask_ptr(cpumask, pgdat->node_id);
 
        lockdep_set_current_reclaim_state(GFP_KERNEL);
 
-       node_to_cpumask_ptr(cpumask, pgdat->node_id);
-
        if (!cpumask_empty(cpumask))
                set_cpus_allowed_ptr(tsk, cpumask);
        current->reclaim_state = &reclaim_state;