108 Star 72 Fork 299

src-openEuler/kernel

【openEuler-22.03-LTS-SP2】修改虚拟机内核启动参数,Guest-Idle-Haltpoll特性无法生效

已完成
缺陷
创建于  
2023-07-26 17:27

【标题描述】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'”
输入图片说明

评论 (14)

yanjianqing 创建了缺陷 2年前

Hi moonyan, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers.

openeuler-ci-bot 添加了
 
sig/Kernel
标签
2年前

请问这个特性存在问题,有哪位负责的同事可以解答一下

zhangjialin 移除了
 
sig/Kernel
标签
2年前
zhangjialin 添加了
 
sig/Virt
标签
2年前

方便提供下虚拟机xml吗?

该问题缺少关键信息,暂时先挂起

zhangjialin 任务状态待办的 修改为已挂起 2年前

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>
zhangjialin 任务状态已挂起 修改为已完成 1年前

登录 后才可以发表评论

状态
负责人
项目
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(6)
5329419 openeuler ci bot 1632792936 yanjianqing-yanjianqing_kylin zhangjialin-zhangjialin11 Jiabo Feng-JiaboFeng sundongxu-sundongx Yanan Wang-yanan-wang
1
https://gitee.com/src-openeuler/kernel.git
git@gitee.com:src-openeuler/kernel.git
src-openeuler
kernel
kernel

搜索帮助