Messages in this thread Patch in this message | | | Date | Fri, 20 Jan 2006 13:58:45 +0000 | Subject | [PATCH] zone_reclaim cpus_empty needs a real variable | From | Andy Whitcroft <> |
| |
zone_reclaim cpus_empty needs a real variable
On some architectures cpus_empty() attempts to take the address of the mask. Consequently we must store the result of the node_to_cpumask() before applying it.
Signed-off-by: Andy Whitcroft <apw@shadowen.org> --- vmscan.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff -upN reference/mm/vmscan.c current/mm/vmscan.c --- reference/mm/vmscan.c +++ current/mm/vmscan.c @@ -1836,18 +1836,21 @@ int zone_reclaim(struct zone *zone, gfp_ struct task_struct *p = current; struct reclaim_state reclaim_state; struct scan_control sc; + cpumask_t mask; if (time_before(jiffies, zone->last_unsuccessful_zone_reclaim + ZONE_RECLAIM_INTERVAL)) return 0; if (!(gfp_mask & __GFP_WAIT) || - (!cpus_empty(node_to_cpumask(zone->zone_pgdat->node_id)) && - zone->zone_pgdat->node_id != numa_node_id()) || zone->all_unreclaimable || atomic_read(&zone->reclaim_in_progress) > 0) return 0; + mask = node_to_cpumask(zone->zone_pgdat->node_id); + if (!cpus_empty(mask) && zone->zone_pgdat->node_id != numa_node_id()) + return 0; + sc.may_writepage = 0; sc.may_swap = 0; sc.nr_scanned = 0; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |