[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160811222816.GA21039@pox.localdomain>
Date: Fri, 12 Aug 2016 00:28:16 +0200
From: Thomas Graf <tgraf@...g.ch>
To: Florian Westphal <fw@...len.de>
Cc: linux@...elenboom.it, netdev@...r.kernel.org,
netfilter@...r.kernel.org
Subject: Re: 4.8.0-rc1: page allocation failure: order:3,
mode:0x2084020(GFP_ATOMIC|__GFP_COMP)
On 08/09/16 at 02:22pm, Florian Westphal wrote:
> Hmmm, seems this is coming from an attempt to allocate the bucket lock
> array (since actual table has __GFP_NOWARN).
>
> I was about to just send a patch that adds a GPF_NOWARN in
> bucket_table_alloc/alloc_bucket_locks call.
>
> However, I wonder if we really need this elaborate sizing logic.
> I think it makes more sense to always allocate a fixed size regardless
> of number of CPUs, i.e. get rid of locks_mul and all the code that comes
> with it.
>
> Doing order-3 allocation for locks seems excessive to me.
>
> The netfilter conntrack hashtable just uses a fixed array of 1024
> spinlocks (so on x86_64 we get on page of locks).
>
> What do you think?
The code has been primarily derived from inet_ehash_locks_alloc()
so my initial suggestion would be to adjust it to after Eric's
latest fixes including the change to GFP_NOWARN.
Powered by blists - more mailing lists