在Linux分区内存页管理机制中增加分区

因科研课题需要, 我需要在Linux分区内存页管理机制中增加一个分区(即zone)。今天把这个zone基本加好了, 大致流程记录如下:

  1. include/linux/mmzone.henum zone_type里增加相应zone, 如ZONE_FOO
  2. mm/page_alloc.csysctl_lowmem_reserve_ratiozone_names等数组中添加相应的zone的属性。
  3. include/linux/gfp.h中增加相应的___GFP_FOO__GFP_FOO以及GFP_FOO标志位, 方便后续实现业务逻辑。
  4. 在合适的地方通过free_area_init函数来初始化新zone的大小。例如, 对于RISC-V架构, 在arch/riscv/mm/init.c文件的zone_sizes_init函数中。
  5. 实现需要的业务逻辑。

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/15601QrCode