现在的位置: 首页 > 综合 > 正文

gfp_mask含义

2017年07月28日 ⁄ 综合 ⁄ 共 388字 ⁄ 字号 评论关闭

gfp_mask标志在alloc_page,kmalloc函数中都有用到。该标志可以分为三类:行为修饰符,区修饰符,类型修饰符。

       行为修饰符表示内核应当如何分配所需的内存,在某些特定的情况下,只能使用某些特定的方法分配内存,例如,中断处理程序就要求内核在分配内存时不能睡眠(因为中断处理程序不能被重新调度)。常用标志值有__GPF_WAIT(分配器可以睡眠),__GFP_IO(分配器可以启动磁盘I/O),__GFP_FS(分配器可以启动文件系统I/O)等等。

      区修饰符表示从哪个区分配内存,内核优先从ZONE_NORMAL开始分配。区修饰符的值只有__GFP_DMA,__GFP_HIGHMEM。

     类型修饰符指定所需的行为和区描述符以完成特殊类型的处理。最常用的值为__GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS)

抱歉!评论已关闭.