Skip to content

Commit 6d5733c

Browse files
committed
hw-mgmt: thermal: Fix FAN speed tolerance
The previous 10% FAN speed tolerance defined by hw-mgmt is insufficient. Based on hardware characteristics (vendor specs and expected physical degradation), the tolerance needs to be increased to 30%. This commit also updates how TC retrieves the tolerance value. Previously, the tolerance was defined in tc_config per system type. It will now use the global value configured in ./config/fan_speed_tolerance instead. Changes: 1. Increase default FAN speed tolerance 10%->30% 2. TC will use ./config/fan_speed_tolerance in calculations, instead of define it per system in tc_config. Bug: 4740638 Signed-off-by: Oleksandr Shamray <oleksandrs@nvidia.com>
1 parent d0778bb commit 6d5733c

29 files changed

+137
-101
lines changed

usr/etc/hw-management-thermal/tc_config_default.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 70, "71:80": 80, "81:90": 90, "91:100": 100},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}
37+
"0" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":0, "rpm_max":0, "slope": 150, "pwm_min" : 101, "pwm_max_reduction" : 10}
3939
}
4040
},
4141
"dev_parameters" : {

usr/etc/hw-management-thermal/tc_config_mqm8700.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 60, "71:80": 60, "81:90": 60, "91:100": 60},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 20, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}
37+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 20, "pwm_max_reduction" : 10}
3939
}
4040
},
4141
"dev_parameters" : {

usr/etc/hw-management-thermal/tc_config_mqm9700.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 70, "71:80": 80, "81:90": 90, "91:100": 100},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3},
35+
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3}},
3636
"P2C": {
37-
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30}}
37+
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3},
38+
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3}}
3939
},
4040
"dev_parameters" : {
4141
"asic\\d*": {"pwm_min": 30, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":100},

usr/etc/hw-management-thermal/tc_config_mqm9701.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 70, "71:80": 80, "81:90": 90, "91:100": 100},
3333
"fan_trend" : {
3434
"C2P": {
35-
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30},
36-
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3, "rpm_tolerance" : 30}}
35+
"0" : {"rpm_min":6150, "rpm_max":29700, "slope": 294.6, "pwm_min" : 20, "pwm_max_reduction" : 3},
36+
"1" : {"rpm_min":5650, "rpm_max":27500, "slope": 273.1, "pwm_min" : 20, "pwm_max_reduction" : 3}}
3737
},
3838
"dev_parameters" : {
3939
"asic\\d*": {"pwm_min": 30, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":100},

usr/etc/hw-management-thermal/tc_config_msn2010.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:100": -1},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}}
37+
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10}}
3939
},
4040
"dev_parameters" : {
4141
"asic\\d*": {"pwm_min": 20, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":70},

usr/etc/hw-management-thermal/tc_config_msn2100.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:100": -1},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}}
37+
"0" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":6300, "rpm_max":25000, "slope": 234, "pwm_min" : 20, "pwm_max_reduction" : 10}}
3939
},
4040
"dev_parameters" : {
4141
"asic\\d*": {"pwm_min": 20, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":70},

usr/etc/hw-management-thermal/tc_config_msn2201.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 70, "71:80": 80, "81:90": 90, "91:100": 100},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}}
37+
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10}}
3939
},
4040
"dev_parameters" : {
4141
"asic\\d*": {"pwm_min": 20, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":70},

usr/etc/hw-management-thermal/tc_config_msn2201_busbar.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
},
2323
"fan_trend" : {
2424
"C2P": {
25-
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
26-
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
25+
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10},
26+
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10}},
2727
"P2C": {
28-
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
29-
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}}
28+
"0" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10},
29+
"1" : {"rpm_min":1983, "rpm_max":22000, "slope": 227, "pwm_min" : 10, "pwm_max_reduction" : 10}}
3030
},
3131
"dev_parameters" : {
3232
"asic\\d*": {"pwm_min": 20, "pwm_max" : 100, "val_min":"!70000", "val_max":"!105000", "poll_time": 3, "sensor_read_error":70},

usr/etc/hw-management-thermal/tc_config_msn3420.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 60, "71:80": 60, "81:90": 60, "91:100": 60},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 25, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 25, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 25, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 25, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 25, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 25, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}
37+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 25, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 195, "pwm_min" : 25, "pwm_max_reduction" : 10}
3939
}
4040
},
4141
"dev_parameters" : {

usr/etc/hw-management-thermal/tc_config_msn3700.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
"psu_fan_pwm_decode" : {"0:10": 10, "11:21": 20, "21:30": 30, "31:40": 40, "41:50": 50, "51:60": 60, "61:70": 60, "71:80": 60, "81:90": 60, "91:100": 60},
3232
"fan_trend" : {
3333
"C2P": {
34-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
35-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 196, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}},
34+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10},
35+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 196, "pwm_min" : 20, "pwm_max_reduction" : 10}},
3636
"P2C": {
37-
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30},
38-
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 196, "pwm_min" : 20, "pwm_max_reduction" : 10, "rpm_tolerance" : 30}
37+
"0" : {"rpm_min":5400, "rpm_max":23000, "slope": 221, "pwm_min" : 20, "pwm_max_reduction" : 10},
38+
"1" : {"rpm_min":4800, "rpm_max":20500, "slope": 196, "pwm_min" : 20, "pwm_max_reduction" : 10}
3939
}
4040
},
4141
"dev_parameters" : {

0 commit comments

Comments
 (0)