场景 | 标志 |
进程上下文,可以睡眠 | GFP_KERNEL |
进程上下文,不可以睡眠 | GFP_ATOMIC |
中断处理程序 | GFP_ATOMIC |
软中断 | GFP_ATOMIC |
tasklet | GFP_ATOMIC |
用于DMA的内存,可以睡眠 | GFP_DMA|GFP_KERNEL |
用于DMA的内存,不可以睡眠 | GFP_DMA|GFP_ATOMIC |
中断中不可休眠原因是进入中断前,内核会将调度关闭。
场景 | 标志 |
进程上下文,可以睡眠 | GFP_KERNEL |
进程上下文,不可以睡眠 | GFP_ATOMIC |
中断处理程序 | GFP_ATOMIC |
软中断 | GFP_ATOMIC |
tasklet | GFP_ATOMIC |
用于DMA的内存,可以睡眠 | GFP_DMA|GFP_KERNEL |
用于DMA的内存,不可以睡眠 | GFP_DMA|GFP_ATOMIC |