Re: [PATCH v3 -mm 1/3] mm: reclaim at order 0 when compaction is enabled

From: Hillf Danton
Date: Sun Jan 29 2012 - 08:25:46 EST


Hi Rik

On Fri, Jan 27, 2012 at 3:59 AM, Rik van Riel <riel@xxxxxxxxxx> wrote:
[...]

> @@ -2754,7 +2754,7 @@ loop_again:
> Â Â Â Â Â Â Â Â */
> Â Â Â Â Â Â Â Âfor (i = 0; i <= end_zone; i++) {
> Â Â Â Â Â Â Â Â Â Â Â Âstruct zone *zone = pgdat->node_zones + i;
> - Â Â Â Â Â Â Â Â Â Â Â int nr_slab;
> + Â Â Â Â Â Â Â Â Â Â Â int nr_slab, testorder;
> Â Â Â Â Â Â Â Â Â Â Â Âunsigned long balance_gap;
>
> Â Â Â Â Â Â Â Â Â Â Â Âif (!populated_zone(zone))
> @@ -2787,7 +2787,20 @@ loop_again:
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â(zone->present_pages +
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂKSWAPD_ZONE_BALANCE_GAP_RATIO-1) /
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂKSWAPD_ZONE_BALANCE_GAP_RATIO);
> - Â Â Â Â Â Â Â Â Â Â Â if (!zone_watermark_ok_safe(zone, order,
> + Â Â Â Â Â Â Â Â Â Â Â /*
> + Â Â Â Â Â Â Â Â Â Â Â Â* Kswapd reclaims only single pages with compaction
> + Â Â Â Â Â Â Â Â Â Â Â Â* enabled. Trying too hard to reclaim until contiguous
> + Â Â Â Â Â Â Â Â Â Â Â Â* free pages have become available can hurt performance
> + Â Â Â Â Â Â Â Â Â Â Â Â* by evicting too much useful data from memory.
> + Â Â Â Â Â Â Â Â Â Â Â Â* Do not reclaim more than needed for compaction.
> + Â Â Â Â Â Â Â Â Â Â Â Â*/
> + Â Â Â Â Â Â Â Â Â Â Â testorder = order;
> + Â Â Â Â Â Â Â Â Â Â Â if (COMPACTION_BUILD && order &&
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â compaction_suitable(zone, order) !=
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â COMPACT_SKIPPED)
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â testorder = 0;
> +
> + Â Â Â Â Â Â Â Â Â Â Â if (!zone_watermark_ok_safe(zone, testorder,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhigh_wmark_pages(zone) + balance_gap,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âend_zone, 0)) {
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âshrink_zone(priority, zone, &sc);

Hard to understand that zone is shrunk as hard as it was,
with water mark checked with new order, tippoint please.

Hillf
èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—