Re: [PATCH 1/2] mm: page allocator: Initialise ZLC for first zone eligible for zone_reclaim

Christoph Lameter
2011-07-20T19:52:20Z

The existing way of deciding if watermarks have been met looks broken to
me.

There are two pools of pages: One is the pages available from the buddy
lists and another the pages in the per cpu lists.

zone_watermark_ok() only checks those in the buddy lists
(NR_FREE_PAGES) is not updated when we get a page from the per cpu lists).

And we do check zone_watermark_ok() before even attempting to allocate
pages that may be available from the per cpu lists?

So the allocator may pass on a zone and/or go into reclaim despite of the
availability of pages on per cpu lists. The more pages one puts into the
per cpu lists the higher the chance of an OOM. ... Ok that is not true
since we flush the per cpu pages and get them back into the buddy lists
before that happens.