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