From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752918Ab2AQRZk (ORCPT ); Tue, 17 Jan 2012 12:25:40 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:49597 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752615Ab2AQRZj (ORCPT ); Tue, 17 Jan 2012 12:25:39 -0500 Date: Tue, 17 Jan 2012 17:25:27 +0000 From: Al Viro To: Dimitri Sivanich Cc: linux-kernel@vger.kernel.org, Eric Dumazet , "David S. Miller" , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , "Paul E. McKenney" , Paul Gortmaker , Andrew Morton , Jiri Kosina , Avi Kivity , linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH] Fix panic in __d_lookup with high dentry hashtable counts Message-ID: <20120117172527.GQ23916@ZenIV.linux.org.uk> References: <20120113155237.GA25103@sgi.com> <20120113162236.GK23916@ZenIV.linux.org.uk> <20120117171352.GA18738@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120117171352.GA18738@sgi.com> 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 On Tue, Jan 17, 2012 at 11:13:52AM -0600, Dimitri Sivanich wrote: > When the number of dentry cache hash table entries gets too high > (2147483648 entries), as happens by default on a 16TB system, use > of a signed integer in the dcache_init() initialization loop prevents > the dentry_hashtable from getting initialized, causing a panic in > __d_lookup(). > > In addition, the _hash_mask returned from alloc_large_system_hash() does > not support more than a 32 bit hash table size. > > Changing the _hash_mask size returned from alloc_large_system_hash() to > support larger hash table sizes in the future, and changing loop counter > sizes appropriately. ... and I still would like to see somebody familiar with uses of other hashes to comment on the desirability of such monsters. For dcache and icache it's absolutely certain to be worse than useless. We are talking about 4Gbuckets here...