4ae504a813
- Why I did it Optimize thermal control policies to simplify the logic and add more protection code in policies to make sure it works even if kernel algorithm does not work. - How I did it Reduce unused thermal policies Add timely ASIC temperature check in thermal policy to make sure ASIC temperature and fan speed is coordinated Minimum allowed fan speed now is calculated by max of the expected fan speed among all policies Move some logic from fan.py to thermal.py to make it more readable - How to verify it 1. Manual test 2. Regression
81 lines
1.8 KiB
JSON
81 lines
1.8 KiB
JSON
{
|
|
"thermal_control_algorithm": {
|
|
"run_at_boot_up": "false",
|
|
"fan_speed_when_suspend": "60"
|
|
},
|
|
"info_types": [
|
|
{
|
|
"type": "fan_info"
|
|
},
|
|
{
|
|
"type": "psu_info"
|
|
},
|
|
{
|
|
"type": "chassis_info"
|
|
}
|
|
],
|
|
"policies": [
|
|
{
|
|
"name": "any fan absence",
|
|
"conditions": [
|
|
{
|
|
"type": "fan.any.absence"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "fan.all.set_speed",
|
|
"speed": "100"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "any psu absence",
|
|
"conditions": [
|
|
{
|
|
"type": "psu.any.absence"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "fan.all.set_speed",
|
|
"speed": "100"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "any fan broken",
|
|
"conditions": [
|
|
{
|
|
"type": "fan.any.fault"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "fan.all.set_speed",
|
|
"speed": "100"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "all fan and psu presence",
|
|
"conditions": [
|
|
{
|
|
"type": "fan.all.presence"
|
|
},
|
|
{
|
|
"type": "psu.all.presence"
|
|
},
|
|
{
|
|
"type": "fan.all.good"
|
|
}
|
|
],
|
|
"actions": [
|
|
{
|
|
"type": "thermal.recover",
|
|
"status": "true"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |