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? -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/