【标题描述】x86/arm修改虚拟机内核启动参数,Guest-Idle-Haltpoll特性无法生效
【环境信息】
硬件信息:
1)虚机场景提供虚机XML文件
虚拟机规格:4核 + 4G内存 + 20G存储(安装时只修改了CPU模式,其他选项均使用默认参数)
arm使用鲲鹏物理机装虚拟机, 虚拟机CPU模式为host-passthrough
x86使用海光物理机装虚拟机,虚拟机CPU模式为host-passthrough
2) 虚拟机内核参数
软件信息:
1)系统版本:openEuler 22.03 (LTS-SP2)
2)内核版本:5.10.0-153.12.0.92.oe2203sp2.x86_64
【问题复现步骤】
出现概率(100%必现)
1.安装虚拟机,使用openEuler-22.03-LTS-SP2-x86_64-dvd.iso镜像
2.在x86虚拟机内核启动参数中配置“cpuidle_haltpoll.force=Y”启动Guest-Idle-Haltpoll特性。
arm虚拟机在虚拟机内核启动参数中配置“cpuidle_haltpoll.force=Y haltpoll.enable=Y”的方式启动Guest-Idle-Haltpoll特性。
(参照欧拉官方文档链接https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/Virtualization/最佳实践.html)
3.重启虚拟机后,确认Guest-Idle-Haltpoll特性没有生效。
【预期结果】
预期cat /sys/devices/system/cpu/cpuidle/current_driver,应该输出为haltpoll
【实际结果】
【附件信息】
查询dmesg 信息,有如下提示“Booting kernel: Y' invalid for parameter
cpuidle_haltpoll.force'”
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
请问这个特性存在问题,有哪位负责的同事可以解答一下
方便提供下虚拟机xml吗?
该问题缺少关键信息,暂时先挂起
arm机器的xml如下所示
<domain type="kvm" id="111">
<name>hostos-b08</name>
<uuid>9ff49e6b-a614-4e7c-8c93-75dc4677c415</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://kylin.cn/kylin/10.0"/>
</libosinfo:libosinfo>
</metadata>
<memory unit="KiB">33554432</memory>
<currentMemory unit="KiB">33554432</currentMemory>
<vcpu placement="static">16</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch="aarch64" machine="virt-6.2">hvm</type>
<loader readonly="yes" type="pflash">/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader>
<nvram>/var/lib/libvirt/qemu/nvram/hostos-b08_VARS.fd</nvram>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<gic version="3"/>
</features>
<cpu mode="host-passthrough" check="none"/>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2"/>
<source file="/var/lib/libvirt/images/hostos-b08.qcow2" index="2"/>
<backingStore/>
<target dev="vda" bus="virtio"/>
<alias name="virtio-disk0"/>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu"/>
<target dev="sda" bus="scsi"/>
<readonly/>
<alias name="scsi0-0-0-0"/>
<address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<controller type="usb" index="0" model="qemu-xhci" ports="15">
<alias name="usb"/>
<address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</controller>
<controller type="scsi" index="0" model="virtio-scsi">
<alias name="scsi0"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>
<controller type="pci" index="0" model="pcie-root">
<alias name="pcie.0"/>
</controller>
<controller type="virtio-serial" index="0">
<alias name="virtio-serial0"/>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</controller>
<controller type="pci" index="1" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="1" port="0x8"/>
<alias name="pci.1"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0" multifunction="on"/>
</controller>
<controller type="pci" index="2" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="2" port="0x9"/>
<alias name="pci.2"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
</controller>
<controller type="pci" index="3" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="3" port="0xa"/>
<alias name="pci.3"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x2"/>
</controller>
<controller type="pci" index="4" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="4" port="0xb"/>
<alias name="pci.4"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x3"/>
</controller>
<controller type="pci" index="5" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="5" port="0xc"/>
<alias name="pci.5"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x4"/>
</controller>
<controller type="pci" index="6" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="6" port="0xd"/>
<alias name="pci.6"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x5"/>
</controller>
<controller type="pci" index="7" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="7" port="0xe"/>
<alias name="pci.7"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x6"/>
</controller>
<controller type="pci" index="8" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="8" port="0xf"/>
<alias name="pci.8"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x7"/>
</controller>
<interface type="direct">
<mac address="52:54:00:0d:2c:7c"/>
<source dev="enp11s0f0" mode="bridge"/>
<target dev="macvtap3"/>
<model type="virtio"/>
<alias name="net0"/>
<address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>
<serial type="pty">
<source path="/dev/pts/33"/>
<target type="system-serial" port="0">
<model name="pl011"/>
</target>
<alias name="serial0"/>
</serial>
<console type="pty" tty="/dev/pts/33">
<source path="/dev/pts/33"/>
<target type="serial" port="0"/>
<alias name="serial0"/>
</console>
<channel type="unix">
<source mode="bind" path="/var/lib/libvirt/qemu/channel/target/domain-111-hostos-b08/org.qemu.guest_agent.0"/>
<target type="virtio" name="org.qemu.guest_agent.0" state="disconnected"/>
<alias name="channel0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<input type="tablet" bus="usb">
<alias name="input0"/>
<address type="usb" bus="0" port="1"/>
</input>
<input type="keyboard" bus="usb">
<alias name="input1"/>
<address type="usb" bus="0" port="2"/>
</input>
<graphics type="vnc" port="5910" autoport="yes" listen="127.0.0.1">
<listen type="address" address="127.0.0.1"/>
</graphics>
<video>
<model type="virtio" heads="1" primary="yes"/>
<alias name="video0"/>
<address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
</video>
<memballoon model="virtio">
<stats period="5"/>
<alias name="balloon0"/>
<address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</memballoon>
</devices>
<seclabel type="dynamic" model="dac" relabel="yes">
<label>+0:+0</label>
<imagelabel>+0:+0</imagelabel>
</seclabel>
</domain>
暂不支持cmdline配置,待更新资料
arm可以在线配置:echo 1 > /sys/module/cpuidle_haltpoll/parameters/force
x86支持在xml中配置:
<domain type='kvm'>
...
<features>
<kvm>
...
<hint-dedicated state='on'/>
</kvm>
</features>
...
</domain>
登录 后才可以发表评论