Messages in this thread | | | Date | Fri, 20 Jan 2006 08:28:16 -0800 (PST) | From | Christoph Lameter <> | Subject | Re: [PATCH] zone_reclaim cpus_empty needs a real variable |
| |
On Fri, 20 Jan 2006, Andy Whitcroft wrote:
> zone_reclaim cpus_empty needs a real variable
Maybe we also need to add a new variable for
zone->zone_pgdat->node_id
Its used multiple times
> > 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/ > - 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/
| |