From: Peter Zijlstra Subject: Re: nfs client lockdep warning Date: Fri, 09 Jan 2009 06:58:17 +0100 Message-ID: <1231480697.11687.522.camel@twins> References: <20090108203658.GE19312@fieldses.org> <1231447707.7179.10.camel@heimdal.trondhjem.org> <20090108212056.GF19312@fieldses.org> <20090109043315.GA12139@gondor.apana.org.au> Mime-Version: 1.0 Content-Type: text/plain Cc: "J. Bruce Fields" , netdev@vger.kernel.org, linux-nfs@vger.kernel.org, Trond Myklebust , Ingo Molnar , Nick Piggin To: Herbert Xu Return-path: In-Reply-To: <20090109043315.GA12139@gondor.apana.org.au> Sender: netdev-owner@vger.kernel.org List-ID: On Fri, 2009-01-09 at 15:33 +1100, Herbert Xu wrote: > On Thu, Jan 08, 2009 at 09:20:56PM +0000, J. Bruce Fields wrote: > > > > > > Jan 8 15:29:17 ying3 kernel: ======================================================= > > > > Jan 8 15:29:17 ying3 kernel: [ INFO: possible circular locking dependency detected ] > > > > Jan 8 15:29:17 ying3 kernel: 2.6.28-07532-g393a64e #71 > > > > Jan 8 15:29:17 ying3 kernel: ------------------------------------------------------- > > > > Jan 8 15:29:17 ying3 kernel: tlocklfs/3527 is trying to acquire lock: > > > > Jan 8 15:29:17 ying3 kernel: (sk_lock-AF_INET-RPC){--..}, at: [] tcp_sendmsg+0x1c/0xa80 > > > > Jan 8 15:29:17 ying3 kernel: > > > > Jan 8 15:29:17 ying3 kernel: but task is already holding lock: > > > > Jan 8 15:29:17 ying3 kernel: (&mm->mmap_sem){----}, at: [] do_page_fault+0xc7/0x820 > > > > Jan 8 15:29:17 ying3 kernel: > > > > Jan 8 15:29:17 ying3 kernel: which lock already depends on the new lock. > > > > Jan 8 15:29:17 ying3 kernel: > > > > Jan 8 15:29:17 ying3 kernel: > > > > Jan 8 15:29:17 ying3 kernel: the existing dependency chain (in reverse order) is: > > > > Jan 8 15:29:17 ying3 kernel: > > > > Jan 8 15:29:17 ying3 kernel: -> #1 (&mm->mmap_sem){----}: > > > > Jan 8 15:29:17 ying3 kernel: [] __lock_acquire+0xfcd/0x18e0 > > > > Jan 8 15:29:17 ying3 kernel: [] lock_acquire+0x5c/0x80 > > > > Jan 8 15:29:17 ying3 kernel: [] might_fault+0x7b/0xa0 > > This is a false positive introduced by might_fault. As this is > a send request from the kernel, it should never fault. > > > > > Jan 8 15:29:17 ying3 kernel: [] copy_from_user+0x36/0x90 > > > > Jan 8 15:29:17 ying3 kernel: [] memcpy_fromiovecend+0x60/0x90 > > > > Jan 8 15:29:17 ying3 kernel: [] ip_generic_getfrag+0x9f/0xb0 > > > > Jan 8 15:29:17 ying3 kernel: [] ip_append_data+0x6bb/0x950 > > > > Jan 8 15:29:17 ying3 kernel: [] udp_sendmsg+0x2bd/0x680 > > > > Jan 8 15:29:17 ying3 kernel: [] inet_sendmsg+0x39/0x70 > > > > Jan 8 15:29:17 ying3 kernel: [] sock_sendmsg+0xd6/0x100 > > > > Jan 8 15:29:17 ying3 kernel: [] kernel_sendmsg+0x35/0x50 > > > > Jan 8 15:29:17 ying3 kernel: [] xs_send_kvec+0xa8/0xb0 > > > > Jan 8 15:29:17 ying3 kernel: [] xs_sendpages+0x71/0x210 > > > > Jan 8 15:29:17 ying3 kernel: [] xs_udp_send_request+0x40/0x120 > > > > Jan 8 15:29:17 ying3 kernel: [] xprt_transmit+0x6f/0x280 > > > > Jan 8 15:29:17 ying3 kernel: [] call_transmit+0x17f/0x250 > > > > Jan 8 15:29:17 ying3 kernel: [] __rpc_execute+0x73/0x250 Is there anything pinning that user-space page, if not its free to fault, which would mean its a real warning...