从内核模块检查Linux内核是否是实时的

从内核模块检查Linux内核是否是实时的

我们有一个可用于实时 (RT) 和非实时 Linux 内核的内核模块。模块使用函数 get_user_pages_remote。但是,由于该模块需要适用于较旧的内核,因此需要进行版本检查:

#if(LINUX_VERSION_CODE > KERNEL_VERSION(4,4,41))
   res = get_user_pages_remote(...);
#else
   res = get_user_pages(...);
#endif

我正在尝试为内核 4.4.88-18-rt 构建此模块,但它没有 get_user_pages_remote(...) API。关于如何处理这个问题有什么建议吗?

  1. 我应该检查 rt 版本并使用 get_user_pages 吗?
  2. 是否有一个所有内核通用的包装 API,它将在内部调用正确的 API?

谢谢

相关内容