摘要:
用slab分配内存的不同方法的共同的入口是__cache_alloc():先用should_failslab初步判断是否可以完成分配(标志位可能是NOFAIL);调用__do_cache_alloc(cachep, flags, &this_cpu)来完成分配;调用cache_alloc_debugcheck_after(cachep, flags, objp, caller)进行分配后检查;prefetchw(objp)通过预取什么的来优化指令;return objp。程序的代码如下:static __always_inline void * __cache_alloc(struct 阅读全文