Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754258AbbGNJuo (ORCPT ); Tue, 14 Jul 2015 05:50:44 -0400 Received: from Chamillionaire.breakpoint.cc ([80.244.247.6]:48565 "EHLO Chamillionaire.breakpoint.cc" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753764AbbGNJul (ORCPT ); Tue, 14 Jul 2015 05:50:41 -0400 Date: Tue, 14 Jul 2015 11:50:37 +0200 From: Florian Westphal To: Thomas Graf Cc: Cong Wang , "Kirill A. Shutemov" , "David S. Miller" , netdev , "linux-kernel@vger.kernel.org" Subject: Re: mmap()ed AF_NETLINK: lockdep and sleep-in-atomic warnings Message-ID: <20150714095037.GB25674@breakpoint.cc> References: <20150713131825.GA16186@node.dhcp.inet.fi> <20150714093825.GC20597@pox.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150714093825.GC20597@pox.localdomain> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1737 Lines: 40 Thomas Graf wrote: > On 07/13/15 at 10:11pm, Cong Wang wrote: > > Caused by: > > > > commit 21e4902aea80ef35afc00ee8d2abdea4f519b7f7 > > Author: Thomas Graf > > Date: Fri Jan 2 23:00:22 2015 +0100 > > > > netlink: Lockless lookup with RCU grace period in socket release > > > > Defers the release of the socket reference using call_rcu() to > > allow using an RCU read-side protected call to rhashtable_lookup() > > > > This restores behaviour and performance gains as previously > > introduced by e341694 ("netlink: Convert netlink_lookup() to use > > RCU protected hash table") without the side effect of severely > > delayed socket destruction. > > > > Signed-off-by: Thomas Graf > > Signed-off-by: David S. Miller > > > > > > We can't hold mutex lock in a rcu callback, perhaps we could > > defer the mmap ring cleanup to a workqueue. > > The socket should be dead at this point. It might be simpler to > add a netlink_release_ring() function which doesn't require > locking at all. It would also get rid of all the special handling > for closing vs. non-closing. Do you know of any users of mmap'd netlink? Support for this was never added to libmnl; given the fact that netlink mmap doesn't have any advantages vs. socket interface i'd just revert it (or mark CONFIG_NETLINK_MMAP broken -- although I don't see how the unconditional copy on tx could ever be avoided). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/