From: Martin J. Bligh
Date: Tue Sep 27 2005 - 14:00:33 EST
> Seems like from the log messages that quite a few pages are hanging in the cpu's cold pcp list even with the low memory conditions. Below is the patch to reduce the higher bound in cold pcp list (...this got increased with my previous change).
> I think we should also drain the CPU's hot and cold pcps for the GFP_KERNEL page requests (in the event the higher order request is not able to get serviced otherwise). This will still only drains the current CPUs pcps in an MP environment (leaving the other CPUs with their lists intact). I will send this patch later today.
> [PATCH]: Reduce the high mark in cpu's cold pcp list.
> Signed-off-by: Rohit Seth <rohit.seth@xxxxxxxxx>
> --- linux-2.6.13.old/mm/page_alloc.c 2005-09-26 10:57:07.000000000 -0700
> +++ linux-2.6.13.work/mm/page_alloc.c 2005-09-26 10:47:57.000000000 -0700
> @@ -1749,7 +1749,7 @@
> pcp = &p->pcp; /* cold*/
> pcp->count = 0;
> pcp->low = 0;
> - pcp->high = 2 * batch;
> + pcp->high = batch / 2;
> pcp->batch = max(1UL, batch/2);
I don't understand. How can you set the high watermark at half the batch
size? Makes no sense to me.
And can you give a stricter definiton of what you mean by "low memory
conditions"? I agree we ought to empty the lists before going OOM or
anything, but not at the slightest feather of pressure ... answer lies
somewhere inbetween ... but where?
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/