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

From: Michal Hocko
Date: Thu May 31 2018 - 02:54:13 EST


On Tue 29-05-18 23:49:59, 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

JFTR the latter one makes __GFP_NORETRY pointless. Non sleeping allocations
are not retrying.

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

--
Michal Hocko
SUSE Labs