Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47015
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2018-11-19 18:25
文章分类

全部博文(14)

文章存档

2018年(14)

我的朋友

发布时间:2018-11-19 19:45:38

上文分析了普通对象的申请过程,kmalloc。现在看一下针对专用对象的申请kmem_cache_alloc函数。点击(此处)折叠或打开/** * kmem_cache_alloc - Allocate an object * @cachep: The cache to allocate from. * @flags: See kmalloc().........【阅读全文】

阅读(1383) | 评论(0) | 转发(0)

发布时间:2018-11-19 19:45:35

上篇分析了一下cache的创建过程,现在cache已经创建完成,跟踪一下slab对象的申请过程。目前使用的申请方式主要是kmalloc(从general cache中申请)和kmem_cache_alloc(从专用cache中申请)。先看一下kmalloc点击(此处)折叠或打开static __always_inline void *kmalloc(size_t size, gfp.........【阅读全文】

阅读(1218) | 评论(0) | 转发(0)

发布时间:2018-11-19 19:45:24

Kernel提供了kmem_cache_create函数用于创建Cache,下面我们直接从API入手。函数有点长,逐行分析一下。点击(此处)折叠或打开/** * kmem_cache_create - Create a cache. * @name: A string which is used in /proc/slabinfo to identify this cache.........【阅读全文】

阅读(1313) | 评论(0) | 转发(0)

发布时间:2018-11-19 19:45:16

start_kernel的在mm_init->kmem_cache_init之后,还调用了kmem_cache_init_late函数。该函数接着kmem_cache_init的处理进度,继续展开,如下:点击(此处)折叠或打开void __init kmem_cache_init_late(void){    struct kmem_cache *cachep.........【阅读全文】

阅读(1312) | 评论(0) | 转发(0)

发布时间:2018-11-19 19:45:12

初始化的调用过程:start_kernel()->mm_init()->kmem_cache_init(),下面分析一下具体代码。点击(此处)折叠或打开/* * Initialisation. Called after the page allocator have been initialised and * before smp_init(). */.........【阅读全文】

阅读(1365) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

yves_zhang2018-11-19 18:27

hello.chainUnix

回复  |  举报
留言热议
请登录后留言。

登录 注册