Thread (12 messages) flat view 12 messages, 4 authors, 2012-01-18

Re: [PATCH] Fix panic in __d_lookup with high dentry hashtable counts

From: David Miller <davem@davemloft.net>
Date: 2012-01-17 17:28:00
Also in: linux-fsdevel, lkml

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:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help