Skip to content

Conversation

@add-uos
Copy link
Contributor

@add-uos add-uos commented Dec 18, 2025

fix from dmidecode get cpu num maybe error

log: fix from dmidecode get cpu num maybe error
bug: https://pms.uniontech.com/bug-view-343951.html

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @add-uos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: add-uos, max-lvs

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

fix from dmidecode get cpu num maybe error

log: fix from dmidecode get cpu num maybe error
bug: https://pms.uniontech.com/bug-view-343951.html
@deepin-ci-robot
Copy link

deepin pr auto review

我来对这个代码变更进行审查:

  1. 语法逻辑:
  • 代码语法正确,没有明显的语法错误。
  • 逻辑上,这段代码是在处理CPU核心数和逻辑处理器数量的获取,优先使用dmidecode的数据,但有一些限制条件。
  1. 代码质量:
  • 代码注释不够清晰,"due to offline policy"这样的注释过于简单,应该更具体地说明为什么需要这些限制。
  • 变量命名可以更清晰,比如"dd4"这样的变量名不够直观。
  • 代码缩进不够规范,if语句的缩进应该保持一致。
  1. 代码性能:
  • 性能方面没有明显问题,因为只是简单的数值比较和赋值操作。
  1. 代码安全:
  • 添加了对coreNum_dmi的边界检查(<= 512),这是好的安全实践。
  • 但是对logicalNum_dmi的上限检查(< 1024)和coreNum_dmi的上限检查不一致,建议统一处理方式。

改进建议:

  1. 代码结构调整:
// 检查并更新核心数
if (coreNum_dmi > coreNum && coreNum_dmi <= MAX_CORE_COUNT) { // MAX_CORE_COUNT = 512
    // 当/proc/cpuinfo的数据可能不准确时,使用dmidecode的数据作为参考
    if (logicalNum != logicalNum_dmi) {
        coreNum = coreNum_dmi;
    }
}

// 检查并更新逻辑处理器数量
if (logicalNum_dmi > logicalNum && logicalNum_dmi <= MAX_LOGICAL_COUNT) { // MAX_LOGICAL_COUNT = 1024
    logicalNum = logicalNum_dmi;
}
  1. 改进建议:
  • 添加常量定义来替代魔法数字(512和1024)
  • 改进注释,更详细地说明为什么需要这些检查
  • 统一变量命名风格
  • 添加更多的边界检查和错误处理
  • 考虑将相关常量定义为类的成员变量或配置项,便于后续维护
  1. 安全性改进:
  • 添加对coreNum和logicalNum的初始值验证
  • 考虑添加对dmidecode数据有效性的检查
  • 添加日志记录,便于调试和追踪数据来源
  1. 可维护性改进:
  • 将数据验证逻辑抽取为独立的方法
  • 添加单元测试来验证边界条件
  • 考虑使用枚举或常量类来管理所有的限制值

这些改进将使代码更加健壮、可维护,并且更容易理解。

@add-uos
Copy link
Contributor Author

add-uos commented Dec 18, 2025

/forcemerge

@deepin-bot
Copy link
Contributor

deepin-bot bot commented Dec 18, 2025

This pr force merged! (status: unstable)

@deepin-bot deepin-bot bot merged commit ac96bf6 into linuxdeepin:develop/eagle Dec 18, 2025
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants