gpt4 book ai didi

memory-management - 如何以编程方式获取 linux 内核页面大小

转载 作者:行者123 更新时间:2023-12-03 08:33:50 30 4
gpt4 key购买 nike

我正在为 IA64 开发一个 Linux 模块。我当前的问题是驱动程序使用 PAGE_SIZE 和 PAGE_SHIFT 宏进行 dma 页面分配。我遇到的问题是编译驱动程序的机器不是运行驱动程序所需的机器。因此,如果编译机器上的 PAGE_SIZE 为 2^14K,而目标机器为 2^16K,则驱动程序失败。

我不想把这个问题变成关于在不是运行模块的机器上编译模块的“最佳实践”问题。我理解这方面的问题。我发现人们大多使用 getpagesize() 或 sysconf(_SC_PAGE_SIZE)。这两个选项不在 ia64 内核头文件中,所以我不能使用它们。有没有另一种方法可以让我获得运行时 PAGE_SIZE?

我正在查看的选项:

  • 在/proc 中读取一些文件?
  • 系统调用?
  • 让我通过推理计算 PAGE_SIZE 的其他函数(例如 ORDER、getpageshift 等)?
  • 其他?
  • 最佳答案

    尝试使用 getconf 实用程序,它可以让您轻松检索页面大小。

    getconf PAGESIZE

    关于memory-management - 如何以编程方式获取 linux 内核页面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888067/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com