第 1 章 对外部内核参数的重要更改
本章为系统管理员提供了与 Red Hat Enterprise Linux 6.4 附带的内核有显著变化的总结。这些更改包括添加或更新的
procfs
条目、sysfs
默认值、引导参数、内核配置选项或任何可见的行为更改。
intel_idle.max_cstate
- 添加了一个新的内核参数
intel_idle.max_cstate
来指定 C-state 的最大深度,或者禁用intel_idle
,并回退到acpi_idle
。如需更多信息,请参阅/usr/share/doc/kernel-doc- <version>/Documentation/kernel-parameters.txt
文件。 nobar
- 新的
nobar
内核参数(特定于 AMD64 / Intel 64 构架)可用于不将地址空间分配给未由 BIOS 分配的基本地址寄存器(BAR)。 noari
- 新的
noari
内核参数可能会禁用 PCIe 备用路由 ID 插入(ARI)的使用。 - MD
状态
文件 - MD 数组组件
设备的状态
文件(位于/sys/block/md <md_number> /md/dev- <device_name
> 目录中)现在可以包含额外的设备状态。如需更多信息,请参阅/usr/share/doc/kernel-doc- <version>/Documentation/md.txt
文件。 route_localnet
route_localnet
内核参数可用于启用将 127/8 用于本地路由目的。如需更多信息,请参阅/usr/share/doc/kernel-doc- <version>/Documentation/networking/ip-sysctl.txt
文件。pf_retrans
pf_retrans
内核参数指定在流量重定向到备用传输前在给定路径上尝试的重新传输数(应该已存在)。如需更多信息,请参阅/usr/share/doc/kernel-doc- <version>/Documentation/networking/ip-sysctl.txt
文件。traceevent
- perf 所使用的新的
traceevent
库使用以下 sysfs 控制文件:/sys/kernel/debug/tracing/events/header_page /sys/kernel/debug/tracing/events/.../.../format /sys/bus/event_source/devices/<dev>/format /sys/bus/event_source/devices/<dev>/events /sys/bus/event_source/devices/<dev>/type
/sys/kernel/fadump_*
- 在 64 位 IBM POWER 机器上,以下控制文件已被固件辅助转储功能使用:
/sys/kernel/fadump_enabled /sys/kernel/fadump_registered /sys/kernel/fadump_release_mem
有关这些文件的更多信息,请参阅/usr/share/doc/kernel-doc- <version>/Documentation/powerpc/firmware-assisted-dump.txt
。 - 透明巨页
- 为一致性目的添加了
/sys/kernel/mm/transparent_hugepage 符号链接
,指向/sys/kernel/mm/redhat_transparent_hugepage
。以下文件中添加了透明巨页的文档:/usr/share/doc/kernel-doc-<version>/Documentation/vm/transhuge.txt
- vmbus_show_device_attr
- Hyper-V
vmbus
驱动程序的vmbus_show_device_attr
属性显示 sysfs 中的 device 属性。当/sys/bus/vmbus/devices/ <busdevice> / <attr_name> 文件被
读取时,会调用它。 - BNA debugfs Interface
- BNA debugfs 接口可以通过
bna/pci_dev 访问:<pci_name&
gt; 层次结构(请注意,必须挂载 debugfs 文件系统)。每个pci_dev
> 都提供了以下调试服务:fwtrc
- 用于收集当前固件追踪。fwsave
- 用于收集最后保存的固件追踪,因为固件崩溃。regwr
- 用于向芯片寄存器写一个单词。regrd
- 用来从芯片寄存器中读取一个或多个词语。
iwlegacy
debug_level
iwlegacy
驱动程序包含一个新的 sysfs 控制文件/sys/bus/pci/drivers/iwl/debug_level
,以控制每个设备调试级别。CONFIG_IWLEGACY_DEBUG
选项启用此功能。iwlwifi
debug_level
iwlwifi
驱动程序包含一个新的 sysfs 控制文件/sys/class/net/wlan0/device/debug_level
,以控制每个设备调试级别。CONFIG_IWLWIFI_DEBUG
选项启用此功能。ie6xx_wdt
- 如果挂载了 debugfs,新的
/sys/kernel/debug/ie6xx_wdt
文件包含一个决定系统是否被 watchdog 重启的值。 supported_krb5_enctypes
- 新的
/proc/fs/nfsd/supported_krb5_enctypes
proc 文件列出了内核的gss_krb5
代码支持的加密类型。 usbmixer
- 添加了
/proc/asound/card<card_number> /usbmixer
proc 文件。它包含 ALSA 控制 API 和 USB 混合控制单元之间的映射。此文件可用于调试和问题诊断。 codec#<number>
/proc/asound/card <card_number> /codec" <number
> proc 文件现在包含有关 D3cold 电源状态的信息,即 PCIe 设备的深度节能状态。codec failing <number
> 文件现在还包含额外的电源状态信息,特别是:重置状态
、lock stop ok
和power state 错误
。以下是一个输出示例:Power: setting=D0, actual=D0, Error, Clock-stop-OK, Setting-reset
cgroup.procs
cgroup.procs
文件现在可以写入。将 TGID 写入 cgroup 的 cgroup.procs 文件中,会将该线程组移到该 cgroup 中。sysfs_dirent
- 现在,最后一个
sysfs_dirent
,它代表一个 sysfs 节点,它已被缓存来提高readdir
功能的可伸缩性。 IOV
iov
sysfs 目录添加到ib
设备下。此目录用于管理并检查端口 P_Key 和 guid paravirtualization.- FDMI 属性
- fabric Device Management Interface (FDMI)属性现在可以通过
fc_host
类对象公开给fcoe
驱动程序。 ltm_capable
- 添加了
/sys/bus/usb/devices/ <device> /ltm_
enabled 文件,以显示设备是否支持 Latency Tolerance Messaging (LTM)。USB 2.0 和 USB 3.0 设备都存在此文件。 fwdump_state
- 添加了
/sys/class/net/eth<number> /device/fwdump_state
文件,以确定固件转储功能是否已启用还是禁用。https://bugzilla.redhat.com/show_bug.cgi?id=826572 标记
,注册
Q 项中的命令
被添加到/sys/block/rssd <number>/registers
文件中。此文件的输出也被重新格式化。另外,添加了一个新的/sys/block/rssd <number> /flags
文件。这个只读文件转储端口和驱动程序数据结构中的标记。duplex
- 现在,当 NIC
duplex 状态是
> /duplex 文件会报告DUPLEX_UNKNOWN
. oscap855062 时,/sys/class/net/eth <numberunknown
- 挂载点接口
- 在 perf 工具中添加了 sysfs 挂载点。
TCP_USER_TIMEOUT
TCP_USER_TIMEOUT
是一个 TCP 级别套接字选项,用于指定传输数据的最大时间(以毫秒为单位)可能会在 TCP 强制关闭对应的连接并将 ETIMEDOUT 返回到应用程序。如果指定了0
值,TCP 将继续使用系统默认值。IPPROTO_ICMP
IPPROTO_ICMP
套接字选项允许发送ICMP_ECHO
消息并接收对应的ICMP_ECHOREPLY
消息,而无需任何特殊的特权。https://bugzilla.redhat.com/show_bug.cgi?id=787705- 增加
ST_MAX_TAPES
中的默认值 - 在 Red Hat Enterprise Linux 6.4 中,支持的磁带驱动器数量从 128 增加到 512。
- 增加支持的 IOMMU 数量
- 支持的输入/输出内存管理单元(IOMMUs)数量增加到与 I/O 高级可编程中断控制器(APIC)的数量相同,如
MAX_IO_APICS
中定义的。https://bugzilla.redhat.com/show_bug.cgi?id=787724 - 新模块参数
- 以下列表总结了传递给各种内核模块的新命令行参数。有关大多数这些模块参数的更多信息,请参阅 modinfo <module& gt; 命令的输出,如 modinfo bna。
- 新的
kvm
模块参数:module_param(min_timer_period_us, uint, S_IRUGO | S_IWUSR);
min_timer_period_us
- 不允许客户机以小间隔编程定期计时器,因为 hrtimers 不会被主机调度程序节流,并允许使用此参数调整间隔。默认值为500us
。
- 新的
kvm-intel
模块参数:module_param_named(eptad, enable_ept_ad_bits, bool, S_IRUGO);
enable_ept_ad_bits
- 参数来控制启用/禁用 A/D 位(如果 CPU 支持)。默认值为启用
。
- 新的
ata_piix
模块参数:module_param(prefer_ms_hyperv, int, 0);
prefer_ms_hyperv
- On Hyper-V Hypervisors,磁盘会在模拟的 SATA 控制器和半虚拟化驱动程序上公开。CD/DVD 设备仅在模拟控制器上公开。请求忽略此主机上的 ATA 设备。默认值为启用
。
- 新的
drm
模块参数:module_param_named(edid_fixup, edid_fixup, int, 0400); module_param_string(edid_firmware, edid_firmware, sizeof(edid_firmware), 0644);
edid_fixup
- Minimum number of valid EDID header bytes (0-8)。默认值为6
。edid_firmware
- Do not probe monitor,从内置数据或/lib/firmware
中使用指定的 EDID blob。
- 新的
i915
模块参数:module_param_named(lvds_channel_mode, i915_lvds_channel_mode, int, 0600); module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600); module_param_named(invert_brightness, i915_panel_invert_brightness, int, 0600);
- 新的
nouveau
模块参数:module_param_named(vram_type, nouveau_vram_type, charp, 0400);
- 新的
radeon
模块参数:module_param_named(lockup_timeout, radeon_lockup_timeout, int, 0444);
- 新的
i2c-ismt
模块参数:module_param(stop_on_error, uint, S_IRUGO); module_param(fair, uint, S_IRUGO);
- 新的
iw-cxgb4
模块参数:module_param(db_delay_usecs, int, 0644); module_param(db_fc_threshold, int, 0644);
- 新的
mlx4_ib
模块参数:module_param_named(sm_guid_assign, mlx4_ib_sm_guid_assign, int, 0444);
- 新的
ib_qib
模块参数:module_param_named(cc_table_size, qib_cc_table_size, uint, S_IRUGO);
- 新的
bna
模块参数:module_param(bna_debugfs_enable, uint, S_IRUGO | S_IWUSR);
- 新的
cxgb4
模块参数:module_param(dbfifo_int_thresh, int, 0644); module_param(dbfifo_drain_delay, int, 0644);
- 新的
e1000e
模块参数:module_param(debug, int, 0);
- 新的
igb
模块参数:module_param(debug, int, 0);
- 新的
igbvf
模块参数:module_param(debug, int, 0);
- 新的
ixgbe
模块参数:module_param(debug, int, 0);
- 新的
ixgbevf
模块参数:module_param(debug, int, 0);
- 新的
hv_netvsc
模块参数:module_param(ring_size, int, S_IRUGO);
- 新的
mlx4_core
模块参数:module_param(enable_64b_cqe_eqe, bool, 0444);
- 当固件支持时,
enable_64b_cqe_eqe
- 启用 64 字节 CQEs/EQEs。
- 新的
sfc
模块参数:module_param(vf_max_tx_channels, uint, 0444); module_param(max_vfs, int, 0444);
- 新的
ath5k
模块参数:module_param_named(no_hw_rfkill_switch, ath5k_modparam_no_hw_rfkill_switch, bool, S_IRUGO);
- 新的
iwlegacy
模块参数:module_param(led_mode, int, S_IRUGO); module_param(bt_coex_active, bool, S_IRUGO);
- 新的
wlcore
模块参数:module_param(no_recovery, bool, S_IRUSR | S_IWUSR);
- 新的 s390
scm_block
模块参数:module_param(nr_requests, uint, S_IRUGO); module_param(write_cluster_size, uint, S_IRUGO)
- 新的 s390
zfcp
模块参数:module_param_named(no_auto_port_rescan, no_auto_port_rescan, bool, 0600); module_param_named(datarouter, enable_multibuffer, bool, 0400); module_param_named(dif, enable_dif, bool, 0400);
- 新的
aacraid
模块参数:module_param(aac_sync_mode, int, S_IRUGO|S_IWUSR); module_param(aac_convert_sgl, int, S_IRUGO|S_IWUSR);
- 新的
be2iscsi
模块参数:module_param(beiscsi_##_name, uint, S_IRUGO);
- 新的
lpfc
模块参数:module_param(lpfc_req_fw_upgrade, int, S_IRUGO|S_IWUSR);
- 新的
megaraid_sas
模块参数:module_param(msix_vectors, int, S_IRUGO); module_param(throttlequeuedepth, int, S_IRUGO); module_param(resetwaittime, int, S_IRUGO);
- 新的
qla4xxx
模块参数:module_param(ql4xqfulltracking, int, S_IRUGO | S_IWUSR); module_param(ql4xmdcapmask, int, S_IRUGO); module_param(ql4xenablemd, int, S_IRUGO | S_IWUSR);
- 新的
hv_storvsc
模块参数:module_param(storvsc_ringbuffer_size, int, S_IRUGO);
- 新的
ehci-hcd
驱动程序参数:module_param(io_watchdog_force, uint, S_IRUGO);
- 对于所有设备,
io_watchdog_force
- 强制 I/O watchdog 为 ON。
- 新的
ie6xx_wdt
模块参数:module_param(timeout, uint, 0); module_param(nowayout, bool, 0); module_param(resetmode, byte, 0);
- 新的
snd-ua101
模块参数:module_param(queue_length, uint, 0644);