intel CPU ICELAKE_D 基于5.4内核适配intel_idle驱动

intel CPU ICELAKE_D 基于5.4内核适配intel_idle驱动文章讲述了在项目中遇到的 C State 测试问题 由于 5 4 210 内核的 Intel idle 驱动不支持 ICELAKE D 型号 CPU

大家好,欢迎来到IT知识分享网。

项目场景:

项目中需要做C-State测试,即需要支持intel_idle cpuidle驱动和 acpi_idle cpuidle驱动


问题描述

使用cpupower 工具读取CPU信息,C-State(intel_idle cpuidle驱动)应该显示intel_idle,而实际显示none
在这里插入图片描述


原因分析:

1、驱动是否已经编译进内核?

grep INTEL_IDLE -rn /boot/config*
从内核配置看,intel_idle驱动已经buildin 进内核
在这里插入图片描述

2、该内核版本的驱动是否支持该CPU芯片?

我们内核是基于 5.4.210内核版本进行分析:
1.从dmesg中log报错,有个intel_idle驱动probe失败导致:
在这里插入图片描述
2. 驱动probe函数定位,根据打印信息显示 该CPU family为6,model为108(0x6C)
在这里插入图片描述

3.查看该版本内核intel_idle驱动中(intel_idle_ids) id table中,并不支持ICELAKE_D,
在这里插入图片描述
分析结论:5.4.210内核的intel_idle驱动并不支持 ICELAKE_D型号CPU


解决方案:

移植高版本内核已支持intel_idle ICELAKE_D芯片,经查找 5.14.0-284.11.1版本的intel_idle驱动才支持该芯片,移植 5.14.0版本的intel_idle驱动到5.4.210中,验证PASS
bios配置:
在这里插入图片描述
在这里插入图片描述

ADD: 如果需要支持apci_idle驱动,则需要做以下配置:
(1)bios配置:
将BIOS选项Enhanced Halt State (C1E)设置为Disabled,Monitor MWAIT设置为Enabled,CPU C6 report设置为Enabled
在这里插入图片描述
(2)grub设置 idle=nomwait

(3)结果如图:
在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150091.html

(0)
上一篇 2025-03-20 19:00
下一篇 2025-03-20 19:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信