Messages in this thread | | | Date | Thu, 21 Jun 2007 14:26:32 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH 7/7] Compact memory directly by a process when a high-order allocation fails |
| |
Andrew Morton wrote: >> On Mon, 18 Jun 2007 10:30:42 +0100 (IST) Mel Gorman <mel@csn.ul.ie> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |