Linux设备驱动-kmalloc
Linux驱动开发中申请内存经常用到kmalloc函数,函数原型如下:
#include <linux/slab.h>
void *kmalloc(size_t size, int flags);
1.size参数
size,需要分配的的memory的大小。 kmalloc 能够处理的最小分配是 32 或者 64 字节,依赖系统的体系所使用的页大小。kmalloc 能够分配的内存块的大小有一个上限. 这个限制随着体系和内核配置选项而变化。如果你的代码是要完全可移植,它不能指望可以分配任何大于 128 KB。
2.flag参数
flag,用于控制kmalloc的行为:
GFP_KERNEL // 分配一片连续的内存,可能睡眠,故不能在中断函数中使用
GFP_ATOMIC // 用来从中断处理和进程上下文之外的其他代码中分配内存,从不睡眠。如果没有足够的空闲页,则返回失败
GFP_USER // 用来为用户空间页来分配内存; 它可能睡眠.
GFP_HIGHUSER // 如同 GFP_USER, 但是从高端内存分配, 如果有
__GFP_DMA // 这个标志要求分配在能够 DMA 的内存区
__GFP_HIGHMEM // 这个标志指示分配的内存可以位于高端内存
__GFP_HIGH // 这个标志标识了一个高优先级请求, 它被允许来消耗甚至被内核保留给紧急状况的最后的内存页
Linux设备驱动-kmalloc相关推荐
- 【翻译】【linux设备驱动】linux地址类型
[翻译][linux设备驱动]linux地址类型 Linux中使用的地址类型列表: 用户虚拟地址(User virtual addresses) 用户空间程序可见的普通地址.用户虚拟地址的长度为32位 ...
- LINUX设备驱动之设备模型一--kobject
http://blog.csdn.net/yangzhu1982/article/details/6186016 Linux设备驱动之设备模型一kobject Eric Fang 2010-01-1 ...
- Linux设备驱动开发概述
作者:宋宝华 email:author@linuxdriver.cn 在过去这些年,Linux已经成功应用于服务器和桌面系统,而近年来,随着嵌入式系统应用的持续升温,Linux也开始广泛应用于嵌入式领 ...
- linux设备驱动读书笔记
linux设备驱动读书笔记 设备驱动简介 机制:提供什么能力 策略:如何使用这些能力 在编写驱动时, 程序员应当编写内核代码来存取硬件, 但是不能强加特别的策略给用户, 因为不同的用户有不同的需求. ...
- Linux 设备驱动篇之I2c设备驱动
******************************************************************************************** 装载声明:希望 ...
- linux的led驱动的实验总结,linux设备驱动归纳总结(五):4.写个简单的LED驱动
linux设备驱动归纳总结(五):4.写个简单的LED驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- LINUX设备驱动之设备模型一kobject
LINUX设备驱动之设备模型一kobject -------------------------------------------------------------- 转载请注明出处:http:/ ...
- linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt
PPT内容 这是linux设备驱动开发详解讲座ppt下载,主要介绍了设备驱动简介:建立和运行模块:字符驱动:调试技术:并发和竞争:分配内存:硬件通讯:中断处理:块设备驱动,欢迎点击下载. 嵌入式Lin ...
- linux设备驱动读书笔记(转)
linux设备驱动读书笔记 设备驱动简介 机制:提供什么能力 策略:如何使用这些能力 在编写驱动时, 程序员应当编写内核代码来存取硬件, 但是不能强加特别的策略给用户, 因为不同的用户有不同的需求. ...
最新文章
- python中文意思k-Python中_,__,__xx__的区别
- Apache+Openssl
- 字符流复制Java文件
- 设置中文linux输入ubuntu,Linux_ubuntu怎么设置成中文?ubuntu中文设置图文方法, 很多朋友安装ubuntu后,发 - phpStudy...
- Maven史上最全总结
- spark学习-SparkSQL--07-SparkContext类和SparkConf类
- 以前是传xml的吗_李菲儿参加《浪姐2》,与黄晓明同台互动!不怕baby吃醋吗?...
- [arduino]-序言:面向仅有C语言基础之人的单片机开发板
- Java Socket总结
- [转]在创业公司做架构师,你需要解决哪些问题?
- oracle dmp和sql文件区别,数据库dbf与dmp文件
- 安卓手机更新过程手机乱码_关于安卓手机上自带播放器乱码问题的解决
- MySQL实战45讲——MySQL是怎么保证数据不丢的?
- 游戏本自动掉帧_LOL官方割韭菜?“永恩上线就出问题,游戏掉帧商城BUG仍未修复”...
- 2021哈工大计算机专业考研参考书,哈尔滨工业大学计算机专业考研参考书目推荐...
- 2021中国薪酬指南:全球半数雇主计划加薪并恢复至正常招聘水平
- Sublime Text 3默认临时/缓存文件保存位置
- 哈工大计算机学院博士毕业 要求,哈尔滨工业大学博士毕业要求.doc
- 简述寄存器种类及其功能
- [附源码]java毕业设计基于JavaWeb生鲜O2O订购平台