一. alloc_pages接口: |
二. kmalloc接口: |
三. vmalloc接口: |
四. kmem_cache接口: |
五. dma_alloc_coherent接口: |
六. 三星...
分类:
系统相关 时间:
2015-03-14 20:01:37
阅读次数:
219
bio.hstaticinlinestructbio*bio_kmalloc(gfp_tgfp_mask,unsignedintnr_iovecs)
{
returnbio_alloc_bioset(gfp_mask,nr_iovecs,NULL);
}blk_rq_map_user_iov-mapuserdatatoarequest,forREQ_TYPE_BLOCK_PCusagescsi_ioctl.cstaticintsg_io(structrequest_queue*q,structgendisk*..
分类:
系统相关 时间:
2015-02-05 18:45:48
阅读次数:
501
linux内核相关1,linux内核内存分配函数总结单位接口算法动态大小kmalloc/kfree/krealloc/kcalloc按大小组织的缓存数组固定大小kmem_cache_create/kmem_cache_destroykmem_cache_alloc/kmem_cache_freeSl...
分类:
系统相关 时间:
2015-01-26 21:02:15
阅读次数:
172
1,kmalloc()函数和vmalloc()函数的区别:kmalloc()函数分配的内存是物理上连续的,而Vmalloc()函数分配的内存仅仅是虚拟地址连续的,正常内核编程通常使用kmalloc(),这主要是处于性能的考虑,因为vmalloc()将物理不连续的页转换为虚拟地址空间上连续的页,必须专...
分类:
系统相关 时间:
2015-01-26 20:38:06
阅读次数:
176
linux3.5内核中为所有进程(包括内核进程和用户进程)分配8k或4k的内核栈(可以在内核编译的时候选择),在模块代码中分配的栈内存就是在内核栈中,写模块代码如果要在堆中分配内存,则要使用kmalloc或vmalloc来分配,这是后话。 内核栈的栈底存放这thread_info, 通过获取...
分类:
系统相关 时间:
2015-01-12 20:58:48
阅读次数:
205
本部分不仅仅是LDD的介绍部分, 还包括了对linux的内存模型的总结.
一句话总结
伙伴系统是基石, slab基于伙伴系统, kmalloc基于slab.
要点
?伙伴系统是对连续大内存而言, 得到的内存的单位从1个page到211 page, 解决外部碎片问题.
?Slab分配器是针对小内存而言, 从32B到128KB, 解决的是内部碎片问题, kma...
分类:
其他好文 时间:
2014-12-31 18:36:46
阅读次数:
242
linux内存管理概述
内存管理的目标:
提供一种方法,在各种目的各个用户之间实现内存共享,应该实现以下两个功能:
1、最小化管理内存的时间,内存申请和释放响应时间短
2、最优化用于一般应用的可用内存,内存管理(算法)所占用的内存少,浪费的内存少(内存碎片少)
下图为内存分配器的关系:
1、kmalloc用于分配一块以字节数为单位的内存,所分配的内存物理地址是连续的
void...
分类:
系统相关 时间:
2014-12-08 21:24:47
阅读次数:
235
linux内核中内存相关的操作函数1、kmalloc()/kfree()static __always_inline void *kmalloc(size_t size, gfp_t flags)内核空间申请指定大小的内存区域,返回内核空间虚拟地址。在函数实现中,如果申请的内存空间较大的话,会从bu...
分类:
系统相关 时间:
2014-12-08 21:08:09
阅读次数:
340
http://blog.csdn.net/blueice8601/article/details/76664271、linux驱动分类2、信号量与自旋锁3、platform总线设备及总线设备如何编写4、kmalloc和vmalloc的区别5、module_init的级别6、添加驱动7、IIC原理,总...
分类:
系统相关 时间:
2014-12-05 10:40:54
阅读次数:
436
在linux中定义了许多错误码,比如:-ENOMEM,-EINTR等错误码。而这些错误码从本质上来说都是一些负整数而已。然而在实际的代码过程中,有的函数的返回值是指针类型的,有的是整数类型的。比如下面这个函数:structkfifo*kfifo_init(){structkfifo*kfifo;kfifo=kmalloc(sizeof(s..
分类:
系统相关 时间:
2014-11-26 19:20:17
阅读次数:
637