Re: [PATCH V4] mlx4_core: allocate ICM memory in page size chunks

From: Qing Huang
Date: Wed May 30 2018 - 13:39:31 EST




On 5/29/2018 8:49 PM, Eric Dumazet wrote:

On 05/29/2018 11:44 PM, Eric Dumazet wrote:

And I will add this simple fix, this really should address your initial concern much better.

@@ -99,6 +100,8 @@ static int mlx4_alloc_icm_pages(struct scatterlist *mem, int order,
{
struct page *page;
+ if (order)
+ gfp_mask |= __GFP_NORETRY;
and also gfp_mask &= ~__GFP_DIRECT_RECLAIM


Would this just fail the allocation without trying to reclaim memory under memory pressure? We've tried something similar but it didn't fix the original problem we were facing.


page = alloc_pages_node(node, gfp_mask, order);
if (!page) {
page = alloc_pages(gfp_mask, order);