Re: [patch 2/5] setup_per_zone_lowmem_reserve() oops fix

From: Andrea Arcangeli
Date: Mon Mar 07 2005 - 08:03:30 EST


On Mon, Mar 07, 2005 at 07:10:05PM +1100, Nick Piggin wrote:
> akpm@xxxxxxxx wrote:
> >If you do 'echo 0 0 > /proc/sys/vm/lowmem_reserve_ratio' the kernel gets a
> >divide-by-zero.
> >
> >Prevent that, and fiddle with some whitespace too.
> >
> >Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
>
> Can we instead have a patch that makes the value zero turn off the
> lowmem reserve entirely if it is set to zero?
>
> Just now I was just testing, and found no easy way to do this other
> than to make the value large enough that the reserve is insignificant.
>
> So the loop would be something like:
>
> for (idx = j-1; idx >= 0; idx--) {
> struct zone *lower_zone;
> lower_zone = pgdat->node_zones + idx;
>
> lower_zone->lowmem_reserve[j] = 0;
> if (sysctl_lowmem_reserve_ratio[idx] > 0)
> lower_zone->lowmem_reserve[j] =
> present_pages /
> sysctl_lowmem_reserve_ratio[idx];
>
> present_pages += lower_zone->present_pages;
> }

Looks good to me. I noticed the divide by zero myself once, and I
also considered changing it so that zero disables it. Could you send a
full patch to Andrew? Thanks.
-
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/