Linux 内存管理
文章平均质量分 62
biaotai
这个作者很懒,什么都没留下…
展开
-
slub分配流程-kmem_cache_alloc函数
slub分配流程-kmem_cache_alloc函数static __always_inline void *slab_alloc_node(struct kmem_cache *s, gfp_t gfpflags, int node, unsigned long addr){ void *object; struct kmem_cache_cpu *c; struct page *page; unsign原创 2021-08-25 21:42:41 · 954 阅读 · 0 评论 -
slub释放过程-do_slab_free
do_slab_free一、快速路径if (likely(page == c->page)) { void **freelist = READ_ONCE(c->freelist); set_freepointer(s, tail_obj, freelist); if (unlikely(!this_cpu_cmpxchg_double( s->cpu_slab->freelist,原创 2021-06-14 09:10:18 · 571 阅读 · 0 评论 -
kmalloc参数GFP_ATOMIC or GFP_KERNEL?
http://blog.csdn.net/daydring/article/details/36670007 #include <linux/slab.h> void *kmalloc(size_t size, int flags); 给 kmalloc 的第一个参数是要分配的块的大小. 第 2 个参数, 分配标志, 非常有趣, 因为它以几个方式控制 kmalloc 的行为. 最一般使用的标志, GFP_KERNEL, 意思是这个分...转载 2021-04-01 10:10:46 · 901 阅读 · 0 评论