Re: [PATCH] netfilter: nf_conntrack: use safer way to lock all buckets

From: Jesper Dangaard Brouer
Date: Thu Jan 14 2016 - 09:14:16 EST


On Mon, 4 Jan 2016 21:25:46 -0500
Sasha Levin <sasha.levin@xxxxxxxxxx> wrote:

> When we need to lock all buckets in the connection hashtable we'd attempt to
> lock 1024 spinlocks, which is way more preemption levels than supported by
> the kernel. Furthermore, this behavior was hidden by checking if lockdep is
> enabled, and if it was - use only 8 buckets(!).
>
> Fix this by using a global lock and synchronize all buckets on it when we
> need to lock them all. This is pretty heavyweight, but is only done when we
> need to resize the hashtable, and that doesn't happen often enough (or at all).
>
> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
> ---

Looks good to me, and I like the idea.

Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>

--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
Author of http://www.iptv-analyzer.org
LinkedIn: http://www.linkedin.com/in/brouer