当前位置:  技术问答>linux和unix

关于slab的简单问题

    来源: 互联网  发布时间:2016-01-08

    本文导语:  linux 2.4 在内核初始化slab的时候,首先初始化cache_cache:kmem_cache_init(),然后初始化通用cache: kmem_cache_sizes_init() 由于cache_cache是最高层次的slab队列,队列中每个slab载有若干个kmem_cache_t数据结构,而这个数据结构又是某缓冲队...

linux 2.4
在内核初始化slab的时候,首先初始化cache_cache:kmem_cache_init(),然后初始化通用cache: kmem_cache_sizes_init()
由于cache_cache是最高层次的slab队列,队列中每个slab载有若干个kmem_cache_t数据结构,而这个数据结构又是某缓冲队列slab的头部
是不是可以这么理解,就是通用缓冲队列和专用缓冲队列的队列头都村在cache_cache的slab队列中?即通用队列可以看做是专用队列的一个特例,通用队列和其他数据结构如vm_area_struct一样在cache_cache队列中的地位其实是一样的?
如果不是这样的话,通用缓冲队列的特殊性又体现在哪里?
请大家指教,谢谢!!

|
只有专用缓冲队列在cache_cache的slab队列中。
通用缓冲队列不在其中,不过也是采用slab方式管理(好像称为slab cache),slab cache顶层是个数组(不像cache_cache是队列),其中每个元素指向不同的slab队列(每个slab队列的对象大小固定,可为32,64,128...,具体可以参考mm/slab.c)。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 内存池和SLAB分配器有什么区别呀,在用法上
  • 这里有人研究了Linux内存管理的slab层吗?
  • jQuery大字体插件 Slab Text
  • 哪位高手能详细的讲讲内核中slab allocator到底是什么?
  • slab和中断下半部都是指什么
  • 有关slab的简单应用,导致系统崩溃,请高手指点


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3