The Android ion_system_heap uses allocation fallback mechanism based on 8,4,0 order pages available in the system. It changes gfp flags based on higher order allocation request. This higher order value is hard-coded as 4, instead of using the system defined higher order value. Thus replacing this hard-coded value with PAGE_ALLOC_COSTLY_ORDER which is defined as 3. This will help mapping the higher order request in system heap with the actual allocation request. Signed-off-by: Pintu Kumar <pintu.k@xxxxxxxxxxx> --- drivers/staging/android/ion/ion_system_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/android/ion/ion_system_heap.c b/drivers/staging/android/ion/ion_system_heap.c index da2a63c..e6c393f 100644 --- a/drivers/staging/android/ion/ion_system_heap.c +++ b/drivers/staging/android/ion/ion_system_heap.c @@ -65,7 +65,7 @@ static struct page *alloc_buffer_page(struct ion_system_heap *heap, } else { gfp_t gfp_flags = low_order_gfp_flags; - if (order > 4) + if (order > PAGE_ALLOC_COSTLY_ORDER) gfp_flags = high_order_gfp_flags; page = alloc_pages(gfp_flags | __GFP_COMP, order); if (!page) @@ -276,7 +276,7 @@ struct ion_heap *ion_system_heap_create(struct ion_platform_heap *unused) struct ion_page_pool *pool; gfp_t gfp_flags = low_order_gfp_flags; - if (orders[i] > 4) + if (orders[i] > PAGE_ALLOC_COSTLY_ORDER) gfp_flags = high_order_gfp_flags; pool = ion_page_pool_create(gfp_flags, orders[i]); if (!pool) -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel