更改调节器设置时出现“写入错误:参数无效”

更改调节器设置时出现“写入错误:参数无效”

我正在 Intel Sylake 上运行基准测试。这些数字有时会出现偏差,我正在尝试将处理器从powersave模式移至ondemand模式。我正在使用的脚本位于governor.sh

在 Skylake 上运行脚本会产生以下结果:

# ./governor.sh ondemand
Current CPU governor scaling settings:
  CPU 0: powersave
  CPU 1: powersave
  CPU 2: powersave
  CPU 3: powersave
./governor.sh: line 44: echo: write error: Invalid argument
./governor.sh: line 44: echo: write error: Invalid argument
./governor.sh: line 44: echo: write error: Invalid argument
./governor.sh: line 44: echo: write error: Invalid argument
New CPU governor scaling settings:
  CPU 0: powersave
  CPU 1: powersave
  CPU 2: powersave
  CPU 3: powersave

第 44 行是echo并且它执行(例如)echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

if [ "x$governor" != "x" ]; then
    for cpu in $cpus; do
        echo $governor > $cpu
    done
fi

在同一台机器上运行相同的脚本performance就可以了。在不同的机器上运行相同的脚本,比如旧的 VIA 或 Core2,用ondemand就可以了。该问题似乎仅限于 Skylake 机器。

@Giles 解释了失败的部分原因cat:写入错误:参数无效,但这并不能解释 Skylake 的失败ondemand这不是无效的设置。有一些额外的阅读Linux内核中的CPU频率和电压缩放代码CPU调速器维基百科。

有什么问题以及如何解决它?


# uname -a
Linux skylake 4.13.4-200.fc26.x86_64 #1 SMP Thu Sep 28 20:46:39 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 26 (Twenty Six)
Release:        26
Codename:       TwentySix

Dmeg 显示以下与 ACPI 相关的错误。它们可能相关,也可能不相关。

$ dmesg
...

[    0.001000] ACPI: Core revision 20170531
[    0.024598] ACPI Error: [\_SB_.PCI0.XHC_.RHUB.HS11] Namespace lookup failure, AE_NOT_FOUND (20170531/dswload-210)
[    0.024604] ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20170531/psobject-252)
[    0.024644] ACPI Exception: AE_NOT_FOUND, (SSDT:xh_rvp08) while loading table (20170531/tbxfload-228)
[    0.031899] ACPI Error: 1 table load failures, 8 successful (20170531/tbxfload-246)
...

以及所有 ACPI 条目:

$ dmesg | grep -i acpi
[    0.000000] BIOS-e820: [mem 0x00000000bd41b000-0x00000000bd449fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000bf07a000-0x00000000bf07afff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000c43f6000-0x00000000c4403fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000c4600000-0x00000000c4d38fff] ACPI NVS
[    0.000000] reserve setup_data: [mem 0x00000000bd41b000-0x00000000bd449fff] ACPI data
[    0.000000] reserve setup_data: [mem 0x00000000bf07a000-0x00000000bf07afff] ACPI NVS
[    0.000000] reserve setup_data: [mem 0x00000000c43f6000-0x00000000c4403fff] ACPI data
[    0.000000] reserve setup_data: [mem 0x00000000c4600000-0x00000000c4d38fff] ACPI NVS
[    0.000000] efi:  ESRT=0xc51daf18  ACPI=0xbd41b000  ACPI 2.0=0xbd41b000  SMBIOS=0xf05e0  SMBIOS 3.0=0xf0600  MPS=0xfc9f0
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000BD41B000 000024 (v02 ALASKA)
[    0.000000] ACPI: XSDT 0x00000000BD41B0A0 0000BC (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: FACP 0x00000000BD43E6D8 00010C (v05 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: DSDT 0x00000000BD41B1F8 0234D9 (v02 ALASKA A M I    01072009 INTL 20120913)
[    0.000000] ACPI: FACS 0x00000000C4D38F80 000040
[    0.000000] ACPI: APIC 0x00000000BD43E7E8 000084 (v03 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: FPDT 0x00000000BD43E870 000044 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: FIDT 0x00000000BD43E8B8 00009C (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: MCFG 0x00000000BD43E958 00003C (v01 ALASKA A M I    01072009 MSFT 00000097)
[    0.000000] ACPI: HPET 0x00000000BD43E998 000038 (v01 ALASKA A M I    01072009 AMI. 0005000B)
[    0.000000] ACPI: SSDT 0x00000000BD43E9D0 00036D (v01 SataRe SataTabl 00001000 INTL 20120913)
[    0.000000] ACPI: LPIT 0x00000000BD43ED40 000094 (v01 INTEL  SKL      00000000 MSFT 0000005F)
[    0.000000] ACPI: SSDT 0x00000000BD43EDD8 000248 (v02 INTEL  sensrhub 00000000 INTL 20120913)
[    0.000000] ACPI: SSDT 0x00000000BD43F020 002BAE (v02 INTEL  PtidDevc 00001000 INTL 20120913)
[    0.000000] ACPI: SSDT 0x00000000BD441BD0 000BE3 (v02 INTEL  Ther_Rvp 00001000 INTL 20120913)
[    0.000000] ACPI: SSDT 0x00000000BD4427B8 0004A3 (v02 INTEL  zpodd    00001000 INTL 20120913)
[    0.000000] ACPI: DBGP 0x00000000BD442C60 000034 (v01 INTEL           00000000 MSFT 0000005F)
[    0.000000] ACPI: DBG2 0x00000000BD442C98 000054 (v00 INTEL           00000000 MSFT 0000005F)
[    0.000000] ACPI: SSDT 0x00000000BD442CF0 000705 (v02 INTEL  xh_rvp08 00000000 INTL 20120913)
[    0.000000] ACPI: SSDT 0x00000000BD4433F8 005359 (v02 SaSsdt SaSsdt   00003000 INTL 20120913)
[    0.000000] ACPI: UEFI 0x00000000BD448758 000042 (v01                 00000000      00000000)
[    0.000000] ACPI: SSDT 0x00000000BD4487A0 000E73 (v02 CpuRef CpuSsdt  00003000 INTL 20120913)
[    0.000000] ACPI: BGRT 0x00000000BD449670 000038 (v01 ALASKA A M I    01072009 AMI  00010013)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: PM-Timer IO Port: 0x1808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
[    0.001000] ACPI: Core revision 20170531
[    0.024598] ACPI Error: [\_SB_.PCI0.XHC_.RHUB.HS11] Namespace lookup failure, AE_NOT_FOUND (20170531/dswload-210)
[    0.024604] ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20170531/psobject-252)
[    0.024644] ACPI Exception: AE_NOT_FOUND, (SSDT:xh_rvp08) while loading table (20170531/tbxfload-228)
[    0.031899] ACPI Error: 1 table load failures, 8 successful (20170531/tbxfload-246)
[    0.236436] PM: Registering ACPI NVS region [mem 0xbf07a000-0xbf07afff] (4096 bytes)
[    0.236436] PM: Registering ACPI NVS region [mem 0xc4600000-0xc4d38fff] (7573504 bytes)
[    0.237170] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.237170] ACPI: bus type PCI registered
[    0.237170] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.238041] ACPI: Added _OSI(Module Device)
[    0.238042] ACPI: Added _OSI(Processor Device)
[    0.238043] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.238043] ACPI: Added _OSI(Processor Aggregator Device)
[    0.239249] ACPI: Executed 25 blocks of module-level executable AML code
[    0.248092] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.251167] ACPI: Dynamic OEM Table Load:
[    0.251172] ACPI: SSDT 0xFFFF911FACC02000 0005FD (v02 PmRef  Cpu0Ist  00003000 INTL 20120913)
[    0.251349] ACPI: \_PR_.CPU0: _OSC native thermal LVT Acked
[    0.251744] ACPI: Dynamic OEM Table Load:
[    0.251748] ACPI: SSDT 0xFFFF911FACE23C00 00037F (v02 PmRef  Cpu0Cst  00003001 INTL 20120913)
[    0.253424] ACPI: Dynamic OEM Table Load:
[    0.253429] ACPI: SSDT 0xFFFF911FACD51000 0005AA (v02 PmRef  ApIst    00003000 INTL 20120913)
[    0.253710] ACPI: Dynamic OEM Table Load:
[    0.253710] ACPI: SSDT 0xFFFF911FACD9A600 000119 (v02 PmRef  ApCst    00003000 INTL 20120913)
[    0.255591] ACPI: Interpreter enabled
[    0.255626] ACPI: (supports S0 S3 S4 S5)
[    0.255627] ACPI: Using IOAPIC for interrupt routing
[    0.255657] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.258543] ACPI: Power Resource [PG00] (on)
[    0.258879] ACPI: Power Resource [PG01] (on)
[    0.259185] ACPI: Power Resource [PG02] (on)
[    0.262056] ACPI: Power Resource [WRST] (on)
[    0.262373] ACPI: Power Resource [WRST] (on)
[    0.262687] ACPI: Power Resource [WRST] (on)
[    0.262999] ACPI: Power Resource [WRST] (on)
[    0.263312] ACPI: Power Resource [WRST] (on)
[    0.263618] ACPI: Power Resource [WRST] (on)
[    0.263931] ACPI: Power Resource [WRST] (on)
[    0.264257] ACPI: Power Resource [WRST] (on)
[    0.264589] ACPI: Power Resource [WRST] (on)
[    0.264922] ACPI: Power Resource [WRST] (on)
[    0.266245] ACPI: Power Resource [WRST] (on)
[    0.266563] ACPI: Power Resource [WRST] (on)
[    0.266876] ACPI: Power Resource [WRST] (on)
[    0.267193] ACPI: Power Resource [WRST] (on)
[    0.267505] ACPI: Power Resource [WRST] (on)
[    0.267816] ACPI: Power Resource [WRST] (on)
[    0.268131] ACPI: Power Resource [WRST] (on)
[    0.268444] ACPI: Power Resource [WRST] (on)
[    0.268755] ACPI: Power Resource [WRST] (on)
[    0.269069] ACPI: Power Resource [WRST] (on)
[    0.279205] ACPI: Power Resource [FN00] (off)
[    0.279269] ACPI: Power Resource [FN01] (off)
[    0.279331] ACPI: Power Resource [FN02] (off)
[    0.279391] ACPI: Power Resource [FN03] (off)
[    0.279450] ACPI: Power Resource [FN04] (off)
[    0.280453] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.280458] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.280485] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    0.284121] acpiphp: Slot [1] registered
[    0.284170] acpiphp: Slot [1-1] registered
[    0.284869] acpiphp: Slot [1-2] registered
[    0.286849] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.286890] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) *0
[    0.286930] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 *10 11 12 14 15)
[    0.286969] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 11 12 14 *15)
[    0.287006] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) *0
[    0.287045] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0
[    0.287085] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) *0
[    0.287123] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 11 12 14 15) *0
[    0.287530] ACPI: Enabled 5 GPEs in block 00 to 7F
[    0.287586] ACPI: bus type USB registered
[    0.292064] PCI: Using ACPI for IRQ routing
[    0.308474] pnp: PnP ACPI init
[    0.308654] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.309134] pnp 00:01: Plug and Play ACPI device, IDs PNP0400 (active)
[    0.309421] pnp 00:02: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.309604] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.309678] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.309689] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.309713] system 00:06: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.309921] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.309953] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.310228] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.311191] system 00:0a: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.311911] pnp: PnP ACPI: found 11 devices
[    0.319103] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.716964] ACPI: Sleep Button [SLPB]
[    0.716991] ACPI: Power Button [PWRB]
[    0.717061] ACPI: Power Button [PWRF]
[    0.777234] ACPI: Thermal Zone [TZ00] (28 C)
[    0.777342] ACPI: Thermal Zone [TZ01] (30 C)
[    1.648278] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    3.270903] parport_pc 00:01: reported by Plug and Play ACPI

相关内容