Le lundi 03 mai 2010 à 11:19 +0200, Jiri Slaby a écrit :
There are many drawbacks using kmalloc() instead of vmalloc().
(NUMA comes to mind, if you want a zone spreaded on all available nodes)
So this kvmalloc() is not meant to be a generic replacement of all
vmalloc() users, only selected ones.
In some spots, allocating 8192 bytes in a driver setup for example, it
should be fine. Using a high order page for this is perfect, as long as
we can have a fallback to vmalloc()
grep bnx2_alloc_mem /proc/vmallocinfo
0xf8690000-0xf8692000 8192 bnx2_alloc_mem+0x111/0x6d0 pages=1 vmalloc
--