On Thu, Nov 15, 2001 at 05:48:36PM +0000, Arjan van de Ven wrote:
> Andrea Arcangeli wrote:
>
> > loop that can trigger with the -ac VM when all the ZONE_DMA is
> > unfreeable (now fixed in mainline with classzone) have nothing to do
>
> Ok I think I've misunderstood classzone then.
> As I understand it, it prevents looping in ZONE_NORMAL when ZONE_DMA has
> memory free,
> and looping in ZONE_HIGHMEM if ZONE_NORMAL or ZONE_DMA have memory free.
correct.
> Can you please explain how it also solves the ZONE_DMA problem ?
It also solves the ZONE_DMA problem with the ->need_balance trigger in
combination with the classzone logic.
With classzone in combination with the need_balance kswapd will never
ever waste time trying to balance a never used classzone.
If all your hardware is PCI nobody will make an allocation from the
ZONE_DMA classzone and so kswapd will never loop on the ZONE_DMA, as
instead can happen with -ac as soon as the ZONE_DMA becomes unfreeable
and under the low watermark (and "unfreeable" of course also means all
anon not locked memory but no swap installed in the machine).
Andrea
-
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/