Hello akpm,
At the very beginning in 2.4 days, in mnt_init(), mount_hashtable
allocation page order was determined at runtime. Later the page order
got fixed to 0. This patch cleanups it.
Signed-off-by: Coywolf Qi Hunt <[email protected]>
diff -Nrup 2.6.11/fs/namespace.c 2.6.11-cy/fs/namespace.c
--- 2.6.11/fs/namespace.c 2005-03-03 17:11:56.000000000 +0800
+++ 2.6.11-cy/fs/namespace.c 2005-03-08 04:52:30.000000000 +0800
@@ -1392,16 +1392,14 @@ static void __init init_mount_tree(void)
void __init mnt_init(unsigned long mempages)
{
struct list_head *d;
- unsigned long order;
unsigned int nr_hash;
int i;
mnt_cache = kmem_cache_create("mnt_cache", sizeof(struct vfsmount),
0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL, NULL);
- order = 0;
mount_hashtable = (struct list_head *)
- __get_free_pages(GFP_ATOMIC, order);
+ __get_free_page(GFP_ATOMIC);
if (!mount_hashtable)
panic("Failed to allocate mount hash table\n");
@@ -1411,7 +1409,7 @@ void __init mnt_init(unsigned long mempa
* We don't guarantee that "sizeof(struct list_head)" is necessarily
* a power-of-two.
*/
- nr_hash = (1UL << order) * PAGE_SIZE / sizeof(struct list_head);
+ nr_hash = PAGE_SIZE / sizeof(struct list_head);
hash_bits = 0;
do {
hash_bits++;
@@ -1426,7 +1424,7 @@ void __init mnt_init(unsigned long mempa
hash_mask = nr_hash-1;
printk("Mount-cache hash table entries: %d (order: %ld, %ld bytes)\n",
- nr_hash, order, (PAGE_SIZE << order));
+ nr_hash, 0, PAGE_SIZE);
/* And initialize the newly allocated array */
d = mount_hashtable;
--
Coywolf Qi Hunt
Homepage http://sosdg.org/~coywolf/