[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150224103918.GJ3713@acer.localdomain>
Date: Tue, 24 Feb 2015 10:39:18 +0000
From: Patrick McHardy <kaber@...sh.net>
To: Thomas Graf <tgraf@...g.ch>
Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
David Miller <davem@...emloft.net>, josh@...htriplett.org,
alexei.starovoitov@...il.com, herbert@...dor.apana.org.au,
ying.xue@...driver.com, netdev@...r.kernel.org,
netfilter-devel@...r.kernel.org
Subject: Re: Ottawa and slow hash-table resize
On 24.02, Thomas Graf wrote:
> On 02/23/15 at 03:06pm, Paul E. McKenney wrote:
> > On Mon, Feb 23, 2015 at 05:32:52PM -0500, David Miller wrote:
> > > I just did a quick scan of all code paths that do inserts into an
> > > rhashtable, and it seems like all of them can easily block. So why
> > > don't we do that? Make inserts sleep on an rhashtable expansion
> > > waitq.
> > >
> > > There could even be a counter of pending inserts, so the expander can
> > > decide to expand further before waking the inserting threads up.
> >
> > Should be reasonably simple, and certainly seems worth a try!
>
> Agreed. Definitely desirable for nft_hash. I like the pending counter
> idea. I'm experimenting with various ideas on blocking inserts for
> Netlink. Blocking too long might open DoS vectors as one app could
> easily delay the creation of sockets for other applications.
Regarding nft_hash, blocking in the netlink path certainly seems fine,
but we will soon also have inserts from the packet processing path,
where we obviously can't block.
--
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