Am I right assuming that a memory slab created and allocated with kmem_cache_create
and kmem_cache_alloc
is contiguous?
相关问题
- What uses more memory in c++? An 2 ints or 2 funct
- Achieving the equivalent of a variable-length (loc
- Kernel oops Oops: 80000005 on arm embedded system
- Loki functor - problem with memory
- Linux kernel behaviour on heap overrun or stack ov
相关文章
- Is there a google API to read cached content? [clo
- Enable dynamic debug for multiple files at boot
- AWS API Gateway caching ignores query parameters
- Check if url is cached webview android
- WebView's LOAD_NO_CACHE setting still saves fi
- Difference in ABI between x86_64 Linux functions a
- -fno-objc-arc not working to disable ARC
- How would a heap-allocated const object differ fro
So when you call
kmem_cache_alloc
, it returns you a piece of memory in a slab which consists of 1 or more contiguous pages.But if you call
kmem_cache_alloc
twice, the 2 pieces of memory you get may not contiguous.And
kmem_cache_create
only creates and initializes the data structure for a kmem_cache and do not allocate the memories.AFAIK, kmalloc() and kmem_cache_*() APIs are returning contiguous memory - which is handled by slab allocator....
vmalloc() can be used to ask big chunk of memory and it will return "virtually contiguous" memory (means contiguous virtual address region).