Re: [PATCH 7/7] Compact memory directly by a process when a high-orderallocation fails

From: Mel Gorman
Date: Thu Jun 21 2007 - 09:26:44 EST


Andrew Morton wrote:
>> On Mon, 18 Jun 2007 10:30:42 +0100 (IST) Mel Gorman <mel@xxxxxxxxx> wrote:
>> +
>> + /*
>> + * It's a race if compaction frees a suitable page but
>> + * someone else allocates it
>> + */
>> + count_vm_event(COMPACTRACE);
>> + }
>
> Could perhaps cause arbitrarily long starvation.

More likely it will just fail allocations where it could have succeeded.
I knew the situation would occur so I thought I would count how often it
happens before doing.

> A fix would be to free
> the synchronously-compacted higher-order page into somewhere which is
> private to this task (a new field in task_struct would be one such place).

There used to be such fields and a process flag PF_FREE_PAGES for a
similar purpose. I'll look into reintroducing it. Thanks

--
Mel Gorman
-
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/