[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOMZO5AL6Vd7jdFWdSb_TokSNWW7x19TSO__w22B6k7wr6VPxw@mail.gmail.com>
Date: Tue, 3 May 2016 22:26:50 -0300
From: Fabio Estevam <festevam@...il.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Francois Romieu <romieu@...zoreil.com>,
David Miller <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Chuck Lever <chuck.lever@...cle.com>,
Trond Myklebust <trond.myklebust@...marydata.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Linux NFS Mailing List <linux-nfs@...r.kernel.org>
Subject: Re: [PATCH net-next] tcp: fix lockdep splat in tcp_snd_una_update()
On Tue, May 3, 2016 at 8:56 PM, Eric Dumazet <eric.dumazet@...il.com> wrote:
> From: Eric Dumazet <edumazet@...gle.com>
>
> tcp_snd_una_update() and tcp_rcv_nxt_update() call
> u64_stats_update_begin() either from process context or BH handler.
>
> This triggers a lockdep splat on 32bit & SMP builds.
>
> We could add u64_stats_update_begin_bh() variant but this would
> slow down 32bit builds with useless local_disable_bh() and
> local_enable_bh() pairs, since we own the socket lock at this point.
>
> I add sock_owned_by_me() helper to have proper lockdep support
> even on 64bit builds, and new u64_stats_update_begin_raw()
> and u64_stats_update_end_raw methods.
>
> Fixes: c10d9310edf5 ("tcp: do not assume TCP code is non preemptible")
> Reported-by: Fabio Estevam <festevam@...il.com>
> Diagnosed-by: Francois Romieu <romieu@...zoreil.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Thanks for the fix, Eric and Francois! This allows me to do NFS boot again:
Tested-by: Fabio Estevam <fabio.estevam@....com>
Powered by blists - more mailing lists