Re: Possible dcache BUG

From: Andrew Morton
Date: Tue Aug 24 2004 - 15:04:45 EST


Marcelo Tosatti <marcelo.tosatti@xxxxxxxxxxxx> wrote:
>
> I dont fully understand the all_unreclaimable logic yet.

1) bk revtool include/linux/mmzone.h
2) double-click on declaration of all_unreclaimable
3) read changelog ;)

> --- mm/vmscan.c.orig 2004-08-24 16:48:09.467086840 -0300
> +++ mm/vmscan.c 2004-08-24 16:51:55.304754296 -0300
> @@ -878,7 +878,8 @@
> if (zone->prev_priority > sc->priority)
> zone->prev_priority = sc->priority;
>
> - if (zone->all_unreclaimable && sc->priority != DEF_PRIORITY)
> + if (zone->all_unreclaimable &&
> + (sc->priority < DEF_PRIORITY && sc->priority > 0))
> continue; /* Let kswapd poll it */
>
> shrink_zone(zone, sc);
> @@ -1054,7 +1055,8 @@
> for (i = 0; i <= end_zone; i++) {
> struct zone *zone = pgdat->node_zones + i;
>
> - if (zone->all_unreclaimable && priority != DEF_PRIORITY)
> + if (zone->all_unreclaimable &&
> + (priority < DEF_PRIORITY && priority > 0))
> continue;
>
> if (nr_pages == 0) { /* Not software suspend */

Does anyone understand _why_ all_unreclaimable is getting set?

If not, it's too early to be writing patches...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/