linux内核中的两个标记GFP_KERNEL和GFP_ATOMIC是用来干什么的?

1. 作用

用来标记分配内核空间内存时的方式

2. 两个标记使用在什么场合?

如果内存不够时,会等待内核释放内存,直到可以分配相应大小的内存,也就意味着会发生阻塞,因此不能使用在中断处理函数中,而GFP_ATOMIC标记正好是用在中断处理函数中的,也就是GFP_ATOMIC用在不能睡眠的场合(中断处理),而GFP_KERNEL用在可以睡眠的场合(使用GFP_KERNEL会引起休眠)!

posted @ 2019-03-18 11:19  Jello  阅读(4857)  评论(0编辑  收藏  举报