Messages in this thread | | | Date | Tue, 17 Jan 2012 12:28:00 -0500 (EST) | Subject | Re: [PATCH] Fix panic in __d_lookup with high dentry hashtable counts | From | David Miller <> |
| |
From: Al Viro <viro@ZenIV.linux.org.uk> Date: Tue, 17 Jan 2012 17:25:27 +0000
> 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...
It's wrong in networking too.
| |