Huge memory on PAE kernel
I'm developing a kernel module that requires more than 1GB RAM.
Most of this memory is taken from the slab, using kmem_cache_create() and kmem_cache_alloc().
Also using vmalloc() and kmalloc().
It works fine on RHEL4, kernel 2.6.9-42.ELhugemem, having 3.1 GB Low-Memory (LowTotal in /proc/meminfo).
Porting to RHEL5 kernel 2.6.18-128.el5PAE, there's only 715 MB Low-Memory.
1. How can a kernel module allocate high memory?
2. Should using high memory degrade performance?
RHEL4 kernel is built with CONFIG_HIGHMEM4G=y
RHEL5 kernel is built with CONFIG_HIGHMEM64G=y