On 06/06/2013 05:04 AM, Mel Gorman wrote:
On Wed, Jun 05, 2013 at 05:10:31PM +0200, Andrea Arcangeli wrote:
Zone reclaim locked breaks zone_reclaim_mode=1. If more than one
thread allocates memory at the same time, it forces a premature
allocation into remote NUMA nodes even when there's plenty of clean
cache to reclaim in the local nodes.
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Be aware that after this patch is applied that it is possible to have a
situation like this
1. 4 processes running on node 1
2. Each process tries to allocate 30% of memory
3. Each process reads the full buffer in a loop (stupid, just an example)
In this situation the processes will continually interfere with each
other until one of them gets migrated to another zone by the scheduler.
This is a very good point.
Andrea, I suspect we will need some kind of safeguard against
this problem.
I can see how ZONE_RECLAIM_LOCKED may not be that safeguard,
but I do not have any good ideas on what it would be.
Should we limit zone reclaim to priority == DEF_PRIORITY, and
fall back if we fail to free enough memory at DEF_PRIORITY?
Does anybody have better ideas?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>