Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755593AbXKIRa1 (ORCPT ); Fri, 9 Nov 2007 12:30:27 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754599AbXKIRaU (ORCPT ); Fri, 9 Nov 2007 12:30:20 -0500 Received: from tetsuo.zabbo.net ([207.173.201.20]:59928 "EHLO tetsuo.zabbo.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754596AbXKIRaT (ORCPT ); Fri, 9 Nov 2007 12:30:19 -0500 Message-ID: <4734992C.7000408@oracle.com> Date: Fri, 09 Nov 2007 09:30:20 -0800 From: Zach Brown User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: Peter Zijlstra CC: Jens Axboe , linux-kernel@vger.kernel.org, akpm@linux-foundation.org, linux-aio@kvack.org, Trond Myklebust , Chris Mason Subject: Re: dio_get_page() lockdep complaints References: <20070419073828.GB20928@kernel.dk> <1194627742.6289.175.camel@twins> In-Reply-To: <1194627742.6289.175.camel@twins> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1298 Lines: 34 So, reiserfs and NFS are nesting i_mutex inside the mmap_sem. >> [] mutex_lock+0x1c/0x1f >> [] reiserfs_file_release+0x54/0x447 >> [] __fput+0x53/0x101 >> [] fput+0x19/0x1c >> [] remove_vma+0x3b/0x4d >> [] do_munmap+0x17f/0x1cf > [] _mutex_lock+0x28/0x34 > [] nfs_revalidate_mapping+0x6d/0xac [nfs] > [] nfs_file_mmap+0x5c/0x74 [nfs] > [] do_mmap_pgoff+0x51a/0x817 > [] sys_mmap+0x90/0x119 I think i_mutex is fundamentally nested outside of the mmap_sem because of faulting in the buffered write path. I think these warnings could be reproduced with a careful test app which tries buffered writes from an address which will fault. DIO just tripped it up because it *always* performs get_user_pages() on the memory. So reiser and NFS need to be fixed. No? (reiser is grabbing i_mutex from any final fput? brave!) - z - 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/