Re: [RFCv2] mm: page allocation for less fragmentation

From: Gioh Kim
Date: Wed Mar 25 2015 - 17:16:27 EST




2015-03-25 ìí 7:56ì Mel Gorman ì(ê) ì ê:
On Wed, Mar 25, 2015 at 11:39:15AM +0900, Gioh Kim wrote:
My driver allocates more than 40MB pages via alloc_page() at a time and
maps them at virtual address. Totally it uses 300~400MB pages.

If I run a heavy load test for a few days in 1GB memory system, I cannot allocate even order=3 pages
because-of the external fragmentation.

I thought I needed a anti-fragmentation solution for my driver.
But there is no allocation function that considers fragmentation.
The compaction is not helpful because it is only for movable pages, not unmovable pages.

This patch proposes a allocation function allocates only pages in the same pageblock.


Is this not what CMA is for? Or creating a MOVABLE zone?

It's not related to CMA and MOVABLE zone.
It's for compaction and anti-fragmentation for any zone.



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