v2
2026-11-05
KHO内存区域大小计算修复 · v2
v2修正kho启动内存遍历:按地址顺序处理、跳过零大小区域并修正bootmem大小计算。
原始补丁链接
子 Patch(3)
1/3
kho: walk bootmem areas in address order
kho_walk_bootmem 改为按地址升序遍历 bootmem(top-down 用降序),避免 arm64 自底向上内核占满低地址后 DTB 找不到空洞,匹配 kexec_walk_resources 行为。
2/3
kho: skip zero-sized lowmem and global bootmem areas
提取 helper 检查区域大小为零并用 memblock 分配,跳过空 lowmem/global bootmem 区,避免零大小分配返回未保留地址、lowmem 失败导致 KHO 被禁用。
3/3
kho: fix bootmem sizing
修正 KHO bootmem 尺寸口径:lowmem 只算低地址,per-node 只算节点上段,global 只算未绑定节点内存;先计算再预留,消除重叠统计造成的 2/4 倍膨胀。