[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150618143019.GE5858@dhcp22.suse.cz>
Date: Thu, 18 Jun 2015 16:30:19 +0200
From: Michal Hocko <mhocko@...e.cz>
To: David Rientjes <rientjes@...gle.com>
Cc: Vlastimil Babka <vbabka@...e.cz>, Shaohua Li <shli@...com>,
netdev@...r.kernel.org, davem@...emloft.net, Kernel-team@...com,
clm@...com, linux-mm@...ck.org, dbavatar@...il.com,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [RFC V3] net: don't wait for order-3 page allocation
On Wed 17-06-15 16:02:59, David Rientjes wrote:
> On Fri, 12 Jun 2015, Vlastimil Babka wrote:
>
> > > diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> > > index 3cfff2a..41ec022 100644
> > > --- a/net/core/skbuff.c
> > > +++ b/net/core/skbuff.c
> > > @@ -4398,7 +4398,7 @@ struct sk_buff *alloc_skb_with_frags(unsigned long
> > > header_len,
> > >
> > > while (order) {
> > > if (npages >= 1 << order) {
> > > - page = alloc_pages(gfp_mask |
> > > + page = alloc_pages((gfp_mask & ~__GFP_WAIT) |
> > > __GFP_COMP |
> > > __GFP_NOWARN |
> > > __GFP_NORETRY,
> >
> > Note that __GFP_NORETRY is weaker than ~__GFP_WAIT and thus redundant. But it
> > won't hurt anything leaving it there. And you might consider __GFP_NO_KSWAPD
> > instead, as I said in the other thread.
> >
>
> Yeah, I agreed with __GFP_NO_KSWAPD to avoid utilizing memory reserves for
> this.
Abusing __GFP_NO_KSWAPD is a wrong way to go IMHO. It is true that the
_current_ implementation of the allocator has this nasty and very subtle
side effect but that doesn't mean it should be abused outside of the mm
proper. Why shouldn't this path wake the kswapd and let it compact
memory on the background to increase the success rate for the later
high order allocations?
--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists