第 5 章 对外部内核参数的重要更改

本章为系统管理员提供了与 Red Hat Enterprise Linux 8.4 附带的内核有显著变化的总结。这些更改包括添加或更新的 proc 条目、sysctlsysfs 默认值、引导参数、内核配置选项或者任何可见的行为更改。

5.1. 新内核参数

bgrt_disable = [ACPI, X86]
这个参数禁用引导图形资源表(BGRT)以避免出现 Original Manufacturer(OEM)徽标。
radix_hcall_invalidate = on [PPC/PSERIES]
这个参数禁用 Radix GTSE 功能,并使 Translation Lookaside Buffer(TLB)的 hcall 无效。
disable_tlbie = [PPC]
这个参数禁用 Translation Look-Aside Buffer Invalidate Entry(TLBIE)指令。目前无法使用 KVM、哈希内存管理单元(MMU)或者一致的加速器。
fw_devlink = [KNL]

这个参数通过扫描固件来推断消费者关系和企业关系,在消费者和企业设备之间创建设备链接。当将驱动程序作为模块加载时,这个功能很有用,因为它确保了类似如下的任务的正确排序:

  • 设备探测(首先为供应者,然后是消费者)
  • 供应者引导状态清理(仅在所有消费者都探测到后)
  • 挂起、恢复和运行时电源管理(PM)(首先为消费者,然后为供应者)

    格式:{ off | permissive | on | rpm }

  • off- 不从固件信息创建设备链接。
  • permissive - 从固件信息创建设备链接,但仅将其用于排序引导状态清理(sync_state() 调用)。
  • on - 从固件信息创建设备链接,并使用它来强制探测并挂起或恢复排序。
  • rpm - 类似于 on,但也用于排序运行时 PM。

默认值为 permissive。您可以在 /proc/cmdline 文件中检查配置的值。

init_on_alloc = [MM]

这个参数使用零填充新分配的页面和堆对象。

格式: 0 | 1

默认由 kernel CONFIG_INIT_ON_ALLOC_DEFAULT_ON 配置设置

init_on_free = [MM]

该参数使用零填充空页面和堆对象。

格式: 0 | 1

默认由 CONFIG_INIT_ON_FREE_DEFAULT_ON设置

nofsgsbase [X86]
这个参数禁用 FSGSBASE 指令。
nosgx [X86-64,SGX]
这个参数禁用 Intel Software Guard Extensions(SGX)内核支持。
rcutree.rcu_min_cached_objs = [KNL]
每个 CPU 缓存和维护的最小对象数量。对象大小等于 PAGE_SIZE。缓存可以降低页面分配器的压力。它还可使整个算法在内存不足的情况下更好地工作。
rcuperf.kfree_rcu_test = [KNL]
此参数用于测量 kfree_rcu() 函数的洪灾性能。
rcuperf.kfree_nthreads = [KNL]
运行kfree_rcu()循环的线程数量。
rcuperf.kfree_alloc_num = [KNL]
迭代中分配和释放的数量。
rcuperf.kfree_loops = [KNL]
进行 rcuperf.kfree_alloc_num 个分配和释放的循环的数量。
rcupdate.rcu_cpu_stall_ftrace_dump = [KNL]
这个参数在报告 Read-copy-update(RCU)CPU 停止警告后,转储 ftrace缓存。
nopvspin = [X86,KVM]
这个参数使用 Para-virtualization(PV)优化禁用 qspinlock 慢路径。这可以使虚拟机监控程序在锁定竞争时"闲置"客户端。