Caching kmem_cache_*是否创建连续内存?
我假设使用Caching kmem_cache_*是否创建连续内存?,caching,memory-management,linux-kernel,Caching,Memory Management,Linux Kernel,我假设使用kmem\u cache\u create和kmem\u cache\u alloc创建和分配的内存板是连续的,对吗?AFAIK、kmalloc()和kmem\u cache\u*()API返回的是连续内存,这是由slab分配器处理的 vmalloc()可用于请求大块内存,它将返回“虚拟连续”内存(表示连续虚拟地址区域)。 kmem_缓存由1个或多个板组成 板由1个或多个连续页面组成 因此,当您调用kmem\u cache\u alloc时,它会返回包含1个或多个连续页面的一块内存
kmem\u cache\u create
和kmem\u cache\u alloc
创建和分配的内存板是连续的,对吗?AFAIK、kmalloc()和kmem\u cache\u*()API返回的是连续内存,这是由slab分配器处理的
vmalloc()可用于请求大块内存,它将返回“虚拟连续”内存(表示连续虚拟地址区域)。- kmem_缓存由1个或多个板组成
- 板由1个或多个连续页面组成
kmem\u cache\u alloc
时,它会返回包含1个或多个连续页面的一块内存
但是如果您调用kmem\u cache\u alloc
两次,您得到的两块内存可能不连续
和kmem\u cache\u create
仅创建和初始化kmem\u缓存的数据结构,而不分配内存