5. Linux-riscv内存管理21-24问

文章目录

    • 2.5 在中断上下文中能不能调用包含GFP_KERNEL分配掩码的内存分配函数?
      • 2.5.1 zone水位
      • 2.5.2 GFP_ATOMIC
      • 2.5.3 在使用GPF_KERNEL情况下,什么时候才睡眠?

2.5 在中断上下文中能不能调用包含GFP_KERNEL分配掩码的内存分配函数?

在中断上下文中不能使用包含GFP_KERNEL分配掩码。这里我们扩展了GFP_ATOMIC的知识。

2.5.1 zone水位

基础知识需要先了解一下zone water水位的知识。

  • HIGH: 系统的free内存大于HIGH水位的时候,是一个相对保险的值,不需要急着做内存回收(reclaim);
  • LOW: 系统的free内存达到LOW水位的时候,启动后台kswapd进行内存回收,回收的目标是让空闲内存达到HIGH水位;
  • MIN:系统应该保有的最小free内存,当空闲内存达到这个值的时候,kswapd的后台回收可能来不及了,一般用户在申请内存的时候,进行DIRECT RECLAIM。

min水位一般是系统自动换算的,其具体值可以从/proc看出:<

你可能感兴趣的:(linux,risc-v)