Linux 5.9.1上的实时补丁未显示arm64选项的完全抢占选项

Linux 5.9.1上的实时补丁未显示arm64选项的完全抢占选项

我正在尝试在 Raspberry Pi 4B 上安装我自己的自定义实时 Linux。我的状态是这样的:

  1. 我构建了 Linux 5.9.1 版本,并拥有自己的 U-Boot 版本、RFS,通过它们我能够成功加载和启动内核、挂载 RFS 以及访问内核控制台。

  2. 我需要在我正在构建的 Linux 内核之上应用实时补丁,因此我使用了 Linux 5.9.1 的相应补丁。由于我正在构建 64 位内核,因此我使用以下命令进入内核配置并更新可抢占选项:

    make ARCH=arm64 CROSS_COMPILE=aarch64-rpi3-linux-gnu- menuconfig

我没有看到完全可抢占的内核选项这里:.config - Linux/arm64 5.9.1 内核配置

一般设置──────────────────────────────────────────────── ──────────────────

     ┌────────────────────── Preemption Model ───────────────────────┐
     │  Use the arrow keys to navigate this window or press the      │  
     │  hotkey of the item you wish to select followed by the <SPACE │  
     │  BAR>. Press <?> for additional information about this        │  
     │ ┌───────────────────────────────────────────────────────────┐ │  
     │ │       ( ) No Forced Preemption (Server)                   │ │  
     │ │       ( ) Voluntary Kernel Preemption (Desktop)           │ │  
     │ │       (X) Preemptible Kernel (Low-Latency Desktop)        │ │  
     │ │                                                           │ │  
     │ │                                                           │ │  
     │ │                                                           │ │  
     │ └───────────────────────────────────────────────────────────┘ │  
     ├───────────────────────────────────────────────────────────────┤  
     │                    <Select>      < Help >                     │  

当我跑步时:

make menuconfig

我确实看到了 x86 选项的选项:.config - Linux/x86 5.9.1 内核配置

一般设置──────────────────────────────────────────────── ──────────────────

     ┌────────────────────── Preemption Model ───────────────────────┐
     │  Use the arrow keys to navigate this window or press the      │  
     │  hotkey of the item you wish to select followed by the <SPACE │  
     │  BAR>. Press <?> for additional information about this        │  
     │ ┌───────────────────────────────────────────────────────────┐ │  
     │ │       ( ) No Forced Preemption (Server)                   │ │  
     │ │       ( ) Voluntary Kernel Preemption (Desktop)           │ │  
     │ │       (X) Preemptible Kernel (Low-Latency Desktop)        │ │  
     │ │       ( ) Fully Preemptible Kernel (Real-Time)            │ │  
     │ │                                                           │ │  
     │ │                                                           │ │  

Linux 内核:5.9.1 使用的 Linux RT 补丁:patch-5.9.1-rt19.patch.xz

我也启用了专家模式,按照 unix.stackexchange .config - Linux/x86 5.9.1 Kernel Configuration 中的另一篇文章中的说明进行操作

一般设置──────────────────────────────────────────────── ────────────────── ┌────────────────────────────── 一般设定──────────────────────────────┐ │ 箭头键导航菜单。选择子菜单 ---> (或空 │
│ 子菜单 ----)。突出显示的字母是热键。按包含、│
│ 排除、模块化功能。按退出,<?> │
│ 获取帮助,</> 获取搜索。传奇: [] 内置 [ ] 排除模块 │
│ ┌────^(-)──────────────────────────────── ──────────────────────────────────┐ │
│ │ [
] 支持使用 LZMA 压缩的初始 ramdisk/ramfs │ │
│ │ [] 支持使用 XZ 压缩的初始 ramdisk/ramfs │ │
│ │ [
] 支持使用 LZO 压缩的初始 ramdisk/ramfs │ │
│ │ [] 支持使用 LZ4 压缩的初始 ramdisk/ramfs │ │
│ │ [
] 支持使用 ZSTD 压缩初始 ramdisk/ramfs │ │
│ │ [ ] 启动配置支持 │ │
│ │ 编译器优化级别(性能优化 (-O2)) --│ │
│ │ -- 配置标准内核功能(专家用户) ---> │ │
│ │ -
- 启用 membarrier() 系统调用 │ │
│ │ -- 加载所有调试符号/ksymoops │ │
│ │ -
- 包含 kallsyms 中的所有符号 │ │
│ │ [] 启用 bpf() 系统调用 │ │
│ │ [ ] 启用 userfaultfd() 系统调用 │ │
│ │ [
] 启用 rseq() 系统调用 │ │
│ │ [ ] 启用 rseq() 系统调用的调试 │ │
│ │ [*] 嵌入式系统 │ │
│ │ [ ] PC/104 支持 │ │
│ │ 内核性能事件和计数器 - --> │ │

我发现这个问题在之前为 Linux 5.6.19 发布的 RT 补丁中没有发生。我这边的 64 位机箱是否缺少某些内容?

答案1

我在 Kernel.org 上提出了这个问题,然后得到了回应,显然它就是打算这样做的。

https://lore.kernel.org/linux-rt-users/[电子邮件受保护]/

这基本上意味着当我们使用arm64架构的5.9.1版本时,我们需要禁用KVM,然后立即出现完全抢占式选项。我能够成功地测试它。

答案2

跑步,

make mrproper

现在运行,

make menuconfig

实时选项现在必须可见。

相关内容