Questions about alloc_large_system_hash() and TLB entries
From: Eric Dumazet
Date: Mon Jan 30 2006 - 04:02:21 EST
alloc_large_system_hash() is used to allocate large hash tables at boot time.
Example on a 2 nodes NUMA machine :
Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
IP route cache hash table entries: 2097152 (order: 12, 16777216 bytes)
TCP established hash table entries: 2097152 (order: 12, 16777216 bytes)
Memory is taken from :
bootmem if (flags & HASH_EARLY)
__vmalloc() if (hashdist is set) (NUMA knob)
__get_free_pages(GFP_ATOMIC, order);
What would be the needed changes in the code to get both :
- Allocate ram equally from all the nodes of the machine
- Use large pages (2MB) to lower TLB stress
Thank you
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/