I have Red Hat Enterprise edition (Vanilla Kernel 2.6.11) installed on my Xeon server, with 4GB of RAM.... I have some simple questions on vmalloc, would be very thankful for the answers....
1). Is memory allocated by vmalloc unswappable, I read contradictory answers from different websites and discussion threads? Incase all kernel memory is unswappable, why do we have the sys_mlock() function?
2). When I read the memory info (cat /proc/meminfo), I see that the vmallocTotal = 536606359kB, while my memTotal = 4044980kB, how can my vmalloc area exceed memTotal area :?:
3). How do I allocate user space memory and lock them, while operating on a kernel level program (say a device driver)?? since, all user space functions like malloc() and mlock() are disabled while in kernel mode!!
again, thank you very much for the answers....