From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753549Ab1LUU2r (ORCPT ); Wed, 21 Dec 2011 15:28:47 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:59861 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751118Ab1LUU2p (ORCPT ); Wed, 21 Dec 2011 15:28:45 -0500 Date: Wed, 21 Dec 2011 12:28:43 -0800 From: Andrew Morton To: Dave Kleikamp Cc: Hugh Dickins , Linus Torvalds , "Rafael J. Wysocki" , jfs-discussion@lists.sourceforge.net, Kernel Testers List , LKML , Maciej Rutecki , Florian Mickler , davem@davemloft.net, Al Viro , linux-mm@kvack.org Subject: Re: [PATCH v2] vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL Message-Id: <20111221122843.18f673c7.akpm@linux-foundation.org> In-Reply-To: <4EF211EC.7090002@oracle.com> References: <201112210054.46995.rjw@sisk.pl> <4EF15F42.4070104@oracle.com> <4EF211EC.7090002@oracle.com> X-Mailer: Sylpheed 3.0.2 (GTK+ 2.20.1; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 21 Dec 2011 11:05:48 -0600 Dave Kleikamp wrote: > [ updated to remove now-obsolete comment in read_cache_page_gfp()] > > lockdep reports a deadlock in jfs because a special inode's rw semaphore > is taken recursively. The mapping's gfp mask is GFP_NOFS, but is not used > when __read_cache_page() calls add_to_page_cache_lru(). Well hang on, it's not just a lockdep splat. The kernel actually will deadlock if we reenter JFS via this GFP_KERNEL allocation attempt, yes? Was that GFP_NOFS allocation recently added to JFS? If not then we should backport this deadlock fix into -stable, no? From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx175.postini.com [74.125.245.175]) by kanga.kvack.org (Postfix) with SMTP id 84E526B004D for ; Wed, 21 Dec 2011 15:28:45 -0500 (EST) Date: Wed, 21 Dec 2011 12:28:43 -0800 From: Andrew Morton Subject: Re: [PATCH v2] vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL Message-Id: <20111221122843.18f673c7.akpm@linux-foundation.org> In-Reply-To: <4EF211EC.7090002@oracle.com> References: <201112210054.46995.rjw@sisk.pl> <4EF15F42.4070104@oracle.com> <4EF211EC.7090002@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Dave Kleikamp Cc: Hugh Dickins , Linus Torvalds , "Rafael J. Wysocki" , jfs-discussion@lists.sourceforge.net, Kernel Testers List , LKML , Maciej Rutecki , Florian Mickler , davem@davemloft.net, Al Viro , linux-mm@kvack.org On Wed, 21 Dec 2011 11:05:48 -0600 Dave Kleikamp wrote: > [ updated to remove now-obsolete comment in read_cache_page_gfp()] > > lockdep reports a deadlock in jfs because a special inode's rw semaphore > is taken recursively. The mapping's gfp mask is GFP_NOFS, but is not used > when __read_cache_page() calls add_to_page_cache_lru(). Well hang on, it's not just a lockdep splat. The kernel actually will deadlock if we reenter JFS via this GFP_KERNEL allocation attempt, yes? Was that GFP_NOFS allocation recently added to JFS? If not then we should backport this deadlock fix into -stable, no? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH v2] vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL Date: Wed, 21 Dec 2011 12:28:43 -0800 Message-ID: <20111221122843.18f673c7.akpm@linux-foundation.org> References: <201112210054.46995.rjw@sisk.pl> <4EF15F42.4070104@oracle.com> <4EF211EC.7090002@oracle.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4EF211EC.7090002-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Dave Kleikamp Cc: Hugh Dickins , Linus Torvalds , "Rafael J. Wysocki" , jfs-discussion-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Kernel Testers List , LKML , Maciej Rutecki , Florian Mickler , davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org, Al Viro , linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org On Wed, 21 Dec 2011 11:05:48 -0600 Dave Kleikamp wrote: > [ updated to remove now-obsolete comment in read_cache_page_gfp()] > > lockdep reports a deadlock in jfs because a special inode's rw semaphore > is taken recursively. The mapping's gfp mask is GFP_NOFS, but is not used > when __read_cache_page() calls add_to_page_cache_lru(). Well hang on, it's not just a lockdep splat. The kernel actually will deadlock if we reenter JFS via this GFP_KERNEL allocation attempt, yes? Was that GFP_NOFS allocation recently added to JFS? If not then we should backport this deadlock fix into -stable, no?