2005-03-08 16:55:39

by Coywolf Qi Hunt

[permalink] [raw]
Subject: [patch] mnt_init() cleanup

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/