Re: netlink & rhashtable status
From: David Miller <davem@davemloft.net>
Date: 2015-05-13 16:35:23
From: Eric Dumazet <redacted> Date: Wed, 13 May 2015 09:18:04 -0700
On Wed, 2015-05-13 at 06:04 -0700, Eric Dumazet wrote:quoted
On Wed, 2015-05-13 at 14:20 +0800, Herbert Xu wrote:quoted
On Tue, May 12, 2015 at 11:15:40PM -0700, Eric Dumazet wrote:quoted
Trick is to start about 200 threads using getaddrinfo()When it loses the kernel socket, is it permanent or intermittent? I'm trying to figure out whether it's the hashtable reader missing an entry that's there or whether the hashtable has been corrupted and an entry is gone forever. Cheers,This is permanent. We have to reboot the host.For 4.0.3 I replaced the two rhashtable files by current Linus version, and problem is gone, so the fix is not in net/netlink include/linux/rhashtable.h | 10 lib/rhashtable.c | 582 ++++++++++++----------------------- 2 files changed, 215 insertions(+), 377 deletions(-) I did a bisection but ended to 393619474ec0 rhashtable: Fix read-side crash during rehash And simply backporting it does not solve the problem
Backporting all of the rhashtable bits is going to be really painful and potentially quite risky. However, if someone is confident enough, I'm willing to entertain this idea. Alternatively, we could consider reverting the rhashtable conversion of netlink in the interim. It might be the safest solution for -stable.