在内核中,gfp 是 get free pages 的缩写,因此 gfp_t 类型的参数往往出现在内存分配函数中,比如 __get_free_pages() 或者 kmalloc(),它用来告诉内存分配函数在分配过程中可以做什么,以及不可以做什么,比如 GFP_ATOMIC 表示内存分配过程中不能 sleep。更多 GFP_XXX 的定义可以参看 include/linux/gfp.h 文件。

#define GFP_ATOMIC  (__GFP_HIGH|__GFP_ATOMIC|__GFP_KSWAPD_RECLAIM)
#define GFP_KERNEL  (__GFP_RECLAIM | __GFP_IO | __GFP_FS)
#define GFP_KERNEL_ACCOUNT (GFP_KERNEL | __GFP_ACCOUNT)
#define GFP_NOWAIT  (__GFP_KSWAPD_RECLAIM)
#define GFP_NOIO    (__GFP_RECLAIM)
#define GFP_NOFS    (__GFP_RECLAIM | __GFP_IO)
#define GFP_USER    (__GFP_RECLAIM | __GFP_IO | __GFP_FS | __GFP_HARDWALL)

内核中的gfp_t类型相关推荐

  1. Linux进程管理:内核中的优先级继承互斥(rtmutex.h):防止优先级反转

    目录 Priority inheritance in the kernel 译文 Priority inheritance in the kernel https://lwn.net/Articles ...

  2. Linux内核中的同步原语:自旋锁,信号量,互斥锁,读写信号量,顺序锁

    Linux内核中的同步原语 自旋锁,信号量,互斥锁,读写信号量,顺序锁 rtoax 2021年3月 在英文原文基础上,针对中文译文增加5.10.13内核源码相关内容. 1. Linux 内核中的同步原 ...

  3. Linux内核中的vfs,详解linux内核VFS

    虚拟文件系统(VFS) 在我看来, "虚拟"二字主要有两层含义: 1, 在同一个目录结构中, 可以挂载着若干种不同的文件系统. VFS隐藏了它们的实现细节, 为使用者提供统一的接口 ...

  4. 内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages【转】

    转自:http://www.cnblogs.com/yfz0/p/5829443.html 在内核模块中申请分配内存需要使用内核中的专用API:kmalloc.vmalloc.kzalloc.kcal ...

  5. Linux 内核中的数据结构:双链表,基数树,位图

    Linux 内核中的数据结构 rtoax 2021年3月 1. 双向链表 Linux 内核自己实现了双向链表,可以在 include/linux/list.h 找到定义.我们将会从双向链表数据结构开始 ...

  6. linux cache控制 内核,Linux内核中cache的实现

    本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性, 1. 前言 kmem_cache是Linux内核提供的快速内存缓冲接口,这些内存块要求是大小相 ...

  7. TCP/IP协议栈在Linux内核中的运行时序分析【万字长文】

    1 Linux概述 1.1 Linux操作系统架构简介 Linux操作系统总体上由Linux内核和GNU系统构成,具体来讲由4个主要部分构成,即Linux内核.Shell.文件系统和应用程序.内核.S ...

  8. TCP/IP协议栈在Linux内核中的运行时序分析

    本文主要是讲解TCP/IP协议栈在Linux内核中的运行时序,文章较长,里面有配套的视频讲解,建议收藏观看. 1 Linux概述 1.1 Linux操作系统架构简介 Linux操作系统总体上由Linu ...

  9. PHP内核中的哈希表结构

    https://github.com/HonestQiao/tipi/commit/17ca680289e490763a6a402f79afa2a13802bb36 下载:https://github ...

最新文章

  1. 0308-标签的用法(a,ul/ol,table)
  2. ADT 怎么删除logcat过滤规则
  3. 棒棒糖 宏_棒棒糖图表
  4. Python操作数据库(二)
  5. LWP 轻量级线程的意义与实现
  6. Qt4_Quit按键
  7. Eclipse启动Web项目 Tomcat中webapps中没有项目文件夹
  8. Python List pop()方法
  9. 编写python程序、找出100_100+ Python挑战性编程练习(1)
  10. QTP添加java插件
  11. 省级c语言笔试题,C语言笔试题库.doc
  12. 图像数字水印技术研究及matlab实现,基于DCT的数字水印技术研究及matlab实现.doc...
  13. 计算机显示桌面的按钮,win10系统添加显示桌面按钮的详细步骤
  14. 写在十九岁生日的23:31。
  15. python根据x轴、y轴坐标在坐标轴里画出曲线图
  16. ESP8266-D1 mini-V2 认识
  17. rstp edgeport
  18. PXE-E61: Media test failure, check cable PXE-M0F: Exiting Intel Boot Agent. 解决方法
  19. 悄悄告诉你:11个高质量PNG素材来源,再也不用抠图了~
  20. 形容计算机专业的诗句,形容对专业追求的诗句

热门文章

  1. python设计麻将_Python写打麻将程序
  2. 【笔记】斜线(slash)和反斜线“\”(backslash)的区别总结
  3. 【yum】yum “Status code: 404 for http:”错误
  4. 【资源】国内镜像网站
  5. swagger支持中英文
  6. java取得对象占用的内存大小
  7. Lenovo 拯救者15ISK升级BIOS
  8. STM32f1系列压力传感器MPX4250压力检测
  9. 【Proteus仿真】Arduino UNO+PCF8574+LCD1602+MPX4250电子秤
  10. php与java语法的区别