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

1. 作用

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

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

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

原文地址:https://www.cnblogs.com/dakewei/p/10551103.html