Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.25-git5 /mm/vmscan.c

Filename:/mm/vmscan.c
Lines Added:8
Lines Deleted:10
Also changed in: (Previous) 2.6.25-git4  2.6.25-git3  2.6.25  2.6.25-rc9  2.6.25-rc8  2.6.25-rc7 
(Following) 2.6.25-git6  2.6.25-git7  2.6.25-git8  2.6.25-git9  2.6.25-git10  2.6.25-git11 

Location
[  2.6.25-git5
  [  mm
     o  vmscan.c

Patch

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 4046434..f80a5b7 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1647,11 +1647,10 @@ static int kswapd(void *p)
    struct reclaim_state reclaim_state = {
       .reclaimed_slab = 0,
    };
-   cpumask_t cpumask;
+   node_to_cpumask_ptr(cpumask, pgdat->node_id);
 
-   cpumask = node_to_cpumask(pgdat->node_id);
-   if (!cpus_empty(cpumask))
-      set_cpus_allowed(tsk, cpumask);
+   if (!cpus_empty(*cpumask))
+      set_cpus_allowed_ptr(tsk, cpumask);
    current->reclaim_state = &reclaim_state;
 
    /*
@@ -1880,17 +1879,16 @@ out:
 static int __devinit cpu_callback(struct notifier_block *nfb,
               unsigned long action, void *hcpu)
 {
-   pg_data_t *pgdat;
-   cpumask_t mask;
    int nid;
 
    if (action == CPU_ONLINE || action == CPU_ONLINE_FROZEN) {
       for_each_node_state(nid, N_HIGH_MEMORY) {
-         pgdat = NODE_DATA(nid);
-         mask = node_to_cpumask(pgdat->node_id);
-         if (any_online_cpu(mask) != NR_CPUS)
+         pg_data_t *pgdat = NODE_DATA(nid);
+         node_to_cpumask_ptr(mask, pgdat->node_id);
+
+         if (any_online_cpu(*mask) < nr_cpu_ids)
             /* One of our CPUs online: restore mask */
-            set_cpus_allowed(pgdat->kswapd, mask);
+            set_cpus_allowed_ptr(pgdat->kswapd, mask);
       }
    }
    return NOTIFY_OK;


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.