Ubuntu 5.11.0-27内核源码中alloc_bootmem系列函数位置查询
关于Ubuntu 5.11.0-27内核找不到
alloc_bootmem系列函数的原因说明 你找不到alloc_bootmem系列函数属于内核版本迭代的正常情况,不是你的操作问题。
接口废弃移除的时间线
alloc_bootmem是Linux内核早期启动阶段的内存分配接口,从内核4.16版本开始被正式标记为废弃接口,内核官方同步推荐所有开发者迁移到memblock子系统的对应分配接口,到5.0版本内核已经完全删除了所有alloc_bootmem系列函数的实现与头文件声明。你使用的Ubuntu 5.11.0-27内核版本远高于5.0,源码中自然不存在该系列函数的相关内容。目前互联网上能搜到的alloc_bootmem相关引用均针对4.x及更老版本内核,和当前新版本内核不匹配。新旧接口对应关系
原有alloc_bootmem系列的功能已经全部被memblock系列接口替代,对应关系如下:alloc_bootmem(size)对应memblock_alloc(size, SMP_CACHE_BYTES)alloc_bootmem_low(size)对应memblock_alloc_low(size, SMP_CACHE_BYTES)alloc_bootmem_pages(size)对应memblock_alloc_pages(size, 0)
相关代码查找路径
如果需要查看当前版本内核启动阶段内存分配的相关实现,可以查看linux/memblock.h头文件的接口声明,以及mm/memblock.c中的具体实现代码。如果需要确认原alloc_bootmem的旧实现,只能到4.19及更早的LTS版本内核源码中查找。
内容的提问来源于stack exchange,提问作者ShankarSwamy
相关产品推荐
相关产品推荐

