All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Miller <davem@davemloft.net>, Thomas Graf <tgraf@suug.ch>,
	netdev <netdev@vger.kernel.org>
Subject: Re: netlink & rhashtable status
Date: Wed, 13 May 2015 09:18:04 -0700	[thread overview]
Message-ID: <1431533884.566.148.camel@edumazet-glaptop2.roam.corp.google.com> (raw)
In-Reply-To: <1431522271.566.132.camel@edumazet-glaptop2.roam.corp.google.com>

On Wed, 2015-05-13 at 06:04 -0700, Eric Dumazet wrote:
> On Wed, 2015-05-13 at 14:20 +0800, Herbert Xu wrote:
> > On Tue, May 12, 2015 at 11:15:40PM -0700, Eric Dumazet wrote:
> > > 
> > > 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

$ git log --no-merges --oneline v4.0.3..master include/linux/rhashtable.h lib/rhashtable.c
1d8dc3d3c8f1 rhashtable: don't attempt to grow when at max_size
a87b9ebf1709 rhashtable: Do not schedule more than one rehash if we can't grow further
e2307ed6cbe7 rhashtable: Schedule async resize when sync realloc fails
49f7b33e63fe rhashtable: provide len to obj_hashfn
6b6f302ceda7 rhashtable: Add rhashtable_free_and_destroy()
b5e2c150ac91 rhashtable: Disable automatic shrinking by default
ac833bddb591 rhashtable: Mark internal/private inline functions as such
299e5c32a37a rhashtable: Use 'unsigned int' consistently
58be8a583d8d rhashtable: Extend RCU read lock into rhashtable_insert_rehash()
27ed44a5d6d8 rhashtable: Add comment on choice of elasticity value
ba7c95ea3870 rhashtable: Fix sleeping inside RCU critical section in walk_stop
ccd57b1bd324 rhashtable: Add immediate rehash during insertion
b9ecfdaa1090 rhashtable: Allow GFP_ATOMIC bucket table allocation
b824478b2145 rhashtable: Add multiple rehash support
18093d1c0d1e rhashtable: Shrink to fit
31ccde2dacea rhashtable: Allow hashfn to be unset
de91b25c8011 rhashtable: Eliminate unnecessary branch in rht_key_hashfn
d88252f9bb74 rhashtable: Add barrier to ensure we see new tables in walker
6626af692692 rhashtable: Fix undeclared EEXIST build error on ia64
dc0ee268d850 rhashtable: Rip out obsolete out-of-line interface
02fd97c3d4a8 rhashtable: Allow hash/comparison functions to be inlined
488fb86ee91d rhashtable: Make rhashtable_init params argument const
a998f712f77e rhashtable: Round up/down min/max_size to ensure we respect limit
e2e21c1c5808 rhashtable: Remove max_shift and min_shift
c2e213cff701 rhashtable: Introduce max_size/min_size
6aebd940840a rhashtable: Remove shift from bucket_table
617011e7d555 rhashtable: Avoid calculating hash again to unlock
db4374f48a6c rhashtable: Annotate RCU locking of walkers
565e86404e4c rhashtable: Fix rhashtable_remove failures
963ecbd41a10 rhashtable: Fix use-after-free in rhashtable_walk_stop
c4db8848af6a rhashtable: Move future_tbl into struct bucket_table
63d512d0cffc rhashtable: Add rehash counter to bucket_table
9d901bc05153 rhashtable: Free bucket tables asynchronously after rehash
5269b53da4d4 rhashtable: Move seed init into bucket_table_alloc
8f2484bdb55d rhashtable: Use SINGLE_DEPTH_NESTING
eddee5ba34eb rhashtable: Fix walker behaviour during rehash
393619474ec0 rhashtable: Fix read-side crash during rehash
a5b6846f9e1a rhashtable: kill ht->shift atomic operations
9497df88ab55 rhashtable: Fix reader/rehash race
ec9f71c59e00 rhashtable: Remove obj_raw_hashfn
cffaa9cb9224 rhashtable: Remove key length argument to key_hashfn
eca849333017 rhashtable: Use head_hashfn instead of obj_raw_hashfn
8d2b18793d16 rhashtable: Move masking back into key_hashfn
84ed82b74dcb rhashtable: Add annotation to nested lock
aa34a6cb0478 rhashtable: Add arbitrary rehash function
988dfbd795cf rhashtable: Move hash_rnd into bucket_table

  reply	other threads:[~2015-05-13 16:18 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13  5:30 netlink & rhashtable status Eric Dumazet
2015-05-13  5:40 ` Herbert Xu
2015-05-13  6:15   ` Eric Dumazet
2015-05-13  6:20     ` Herbert Xu
2015-05-13 13:04       ` Eric Dumazet
2015-05-13 16:18         ` Eric Dumazet [this message]
2015-05-13 16:35           ` David Miller
2015-05-14  2:55             ` Herbert Xu
2015-05-14  2:53           ` Herbert Xu
2015-05-14  3:17             ` Eric Dumazet
2015-05-14  3:34               ` Herbert Xu
2015-05-14  3:58                 ` Eric Dumazet
2015-05-14  4:13                   ` Eric Dumazet
2015-05-14  4:16                     ` Herbert Xu
2015-05-14  4:21                       ` Herbert Xu
2015-05-14  4:38                         ` Eric Dumazet
2015-05-14  5:03                           ` Herbert Xu
2015-05-14  5:56                         ` Red Hat INTERNAL-ONLY kernel discussion list <rhkernel-list@redhat.com> Herbert Xu
2015-05-14  5:58                         ` netlink: Disable insertions/removals during rehash Herbert Xu
2015-05-14  6:02                           ` netlink: Kill bogus lock_sock in netlink_insert Herbert Xu
2015-05-15 16:49                             ` David Miller
2015-05-15 18:01                               ` Eric Dumazet
2015-05-16 16:50                                 ` Eric Dumazet
2015-05-16 20:58                                   ` David Miller
2015-05-15 17:02                             ` David Miller
2015-05-16 12:32                               ` Herbert Xu
2015-05-16 13:40                                 ` [net] netlink: Make autobind rover an atomic_t Herbert Xu
2015-05-16 13:50                                   ` [net] netlink: Reset portid after netlink_insert failure Herbert Xu
2015-05-16 21:09                                     ` David Miller
2015-05-16 21:08                                   ` [net] netlink: Make autobind rover an atomic_t David Miller
2015-05-17  2:45                                     ` [net-next] netlink: Use random autobind rover Herbert Xu
2015-05-18  3:44                                       ` David Miller
2015-05-14 14:37                           ` netlink: Disable insertions/removals during rehash Eric Dumazet
2015-05-15  0:06                             ` Herbert Xu
2015-05-20 23:53                               ` Thomas Graf
2015-05-21  0:31                                 ` Eric Dumazet
2015-05-15 17:02                           ` David Miller
2015-05-16 13:16                             ` Herbert Xu
2015-05-16 21:10                               ` David Miller
2015-06-04 16:27                                 ` Guenter Roeck
2015-06-04 18:59                                   ` David Miller
2015-06-04 20:44                                     ` Eric Dumazet
2015-06-04 20:58                                     ` Guenter Roeck
2015-06-05  3:52                                   ` Herbert Xu
2015-06-05  5:27                                     ` Guenter Roeck
2015-06-26 10:44                         ` netlink & rhashtable status Konstantin Khlebnikov
2015-06-27  7:09                           ` Herbert Xu
2015-05-14  4:17                     ` Eric Dumazet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1431533884.566.148.camel@edumazet-glaptop2.roam.corp.google.com \
    --to=eric.dumazet@gmail.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@vger.kernel.org \
    --cc=tgraf@suug.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.