lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 4 Aug 2022 12:21:04 +0000 From: Vadim Pasternak <vadimp@...dia.com> To: Daniel Lezcano <daniel.lezcano@...aro.org>, "rafael@...nel.org" <rafael@...nel.org> CC: "davem@...emloft.net" <davem@...emloft.net>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, Ido Schimmel <idosch@...dia.com>, Petr Machata <petrm@...dia.com>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com> Subject: RE: [PATCH 2/2] Revert "mlxsw: core: Add the hottest thermal zone detection" > -----Original Message----- > From: Daniel Lezcano <daniel.lezcano@...aro.org> > Sent: Monday, August 1, 2022 12:56 PM > To: daniel.lezcano@...aro.org; rafael@...nel.org > Cc: Vadim Pasternak <vadimp@...dia.com>; davem@...emloft.net; > netdev@...r.kernel.org; linux-kernel@...r.kernel.org; Ido Schimmel > <idosch@...dia.com>; Petr Machata <petrm@...dia.com>; Eric Dumazet > <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo Abeni > <pabeni@...hat.com> > Subject: [PATCH 2/2] Revert "mlxsw: core: Add the hottest thermal zone > detection" > > This reverts commit 6f73862fabd93213de157d9cc6ef76084311c628. > > As discussed in the thread: > > https://lore.kernel.org/all/f3c62ebe-7d59-c537-a010- > bff366c8aeba@...aro.org/ > > the feature provided by commits 2dc2f760052da and 6f73862fabd93 is > actually already handled by the thermal framework via the cooling device > state aggregation, thus all this code is pointless. > > The revert conflicts with the following changes: > - 7f4957be0d5b8: thermal: Use mode helpers in drivers > - 6a79507cfe94c: mlxsw: core: Extend thermal module with per QSFP module > thermal zones > > These conflicts were fixed and the resulting changes are in this patch. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@...aro.org> Tested-by: Vadim Pasternak <vadimp@...dia.com> Daniel, Could you, please, re-base the patch on top of net-next as Jakub mentioned? Or do you want me to do it? There is also redundant blank line in this patch: &mlxsw_thermal_module_ops, + &mlxsw_thermal_params, > --- > .../ethernet/mellanox/mlxsw/core_thermal.c | 59 +------------------ > 1 file changed, 2 insertions(+), 57 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c > b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c > index f5751242653b..373a77c3da02 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c > @@ -22,7 +22,6 @@ > #define MLXSW_THERMAL_HYSTERESIS_TEMP 5000 /* 5C */ > #define MLXSW_THERMAL_MODULE_TEMP_SHIFT > (MLXSW_THERMAL_HYSTERESIS_TEMP * 2) > #define MLXSW_THERMAL_ZONE_MAX_NAME 16 > -#define MLXSW_THERMAL_TEMP_SCORE_MAX GENMASK(31, 0) > #define MLXSW_THERMAL_MAX_STATE 10 > #define MLXSW_THERMAL_MIN_STATE 2 > #define MLXSW_THERMAL_MAX_DUTY 255 > @@ -96,8 +95,6 @@ struct mlxsw_thermal { > u8 tz_module_num; > struct mlxsw_thermal_module *tz_gearbox_arr; > u8 tz_gearbox_num; > - unsigned int tz_highest_score; > - struct thermal_zone_device *tz_highest_dev; > }; > > static inline u8 mlxsw_state_to_duty(int state) @@ -186,34 +183,6 @@ > mlxsw_thermal_module_trips_update(struct device *dev, struct > mlxsw_core *core, > return 0; > } > > -static void mlxsw_thermal_tz_score_update(struct mlxsw_thermal > *thermal, > - struct thermal_zone_device *tzdev, > - struct mlxsw_thermal_trip *trips, > - int temp) > -{ > - struct mlxsw_thermal_trip *trip = trips; > - unsigned int score, delta, i, shift = 1; > - > - /* Calculate thermal zone score, if temperature is above the hot > - * threshold score is set to MLXSW_THERMAL_TEMP_SCORE_MAX. > - */ > - score = MLXSW_THERMAL_TEMP_SCORE_MAX; > - for (i = MLXSW_THERMAL_TEMP_TRIP_NORM; i < > MLXSW_THERMAL_NUM_TRIPS; > - i++, trip++) { > - if (temp < trip->temp) { > - delta = DIV_ROUND_CLOSEST(temp, trip->temp - > temp); > - score = delta * shift; > - break; > - } > - shift *= 256; > - } > - > - if (score > thermal->tz_highest_score) { > - thermal->tz_highest_score = score; > - thermal->tz_highest_dev = tzdev; > - } > -} > - > static int mlxsw_thermal_bind(struct thermal_zone_device *tzdev, > struct thermal_cooling_device *cdev) { @@ - > 278,10 +247,8 @@ static int mlxsw_thermal_get_temp(struct > thermal_zone_device *tzdev, > dev_err(dev, "Failed to query temp sensor\n"); > return err; > } > + > mlxsw_reg_mtmp_unpack(mtmp_pl, &temp, NULL, NULL, NULL, > NULL); > - if (temp > 0) > - mlxsw_thermal_tz_score_update(thermal, tzdev, thermal- > >trips, > - temp); > > *p_temp = temp; > return 0; > @@ -342,22 +309,6 @@ static int mlxsw_thermal_set_trip_hyst(struct > thermal_zone_device *tzdev, > return 0; > } > > -static int mlxsw_thermal_trend_get(struct thermal_zone_device *tzdev, > - int trip, enum thermal_trend *trend) > -{ > - struct mlxsw_thermal_module *tz = tzdev->devdata; > - struct mlxsw_thermal *thermal = tz->parent; > - > - if (trip < 0 || trip >= MLXSW_THERMAL_NUM_TRIPS) > - return -EINVAL; > - > - if (tzdev == thermal->tz_highest_dev) > - return 1; > - > - *trend = THERMAL_TREND_STABLE; > - return 0; > -} > - > static struct thermal_zone_params mlxsw_thermal_params = { > .no_hwmon = true, > }; > @@ -371,7 +322,6 @@ static struct thermal_zone_device_ops > mlxsw_thermal_ops = { > .set_trip_temp = mlxsw_thermal_set_trip_temp, > .get_trip_hyst = mlxsw_thermal_get_trip_hyst, > .set_trip_hyst = mlxsw_thermal_set_trip_hyst, > - .get_trend = mlxsw_thermal_trend_get, > }; > > static int mlxsw_thermal_module_bind(struct thermal_zone_device *tzdev, > @@ -473,8 +423,6 @@ static int mlxsw_thermal_module_temp_get(struct > thermal_zone_device *tzdev, > /* Update trip points. */ > err = mlxsw_thermal_module_trips_update(dev, thermal->core, tz, > crit_temp, emerg_temp); > - if (!err && temp > 0) > - mlxsw_thermal_tz_score_update(thermal, tzdev, tz->trips, > temp); > > return 0; > } > @@ -547,7 +495,6 @@ static struct thermal_zone_device_ops > mlxsw_thermal_module_ops = { > .set_trip_temp = mlxsw_thermal_module_trip_temp_set, > .get_trip_hyst = mlxsw_thermal_module_trip_hyst_get, > .set_trip_hyst = mlxsw_thermal_module_trip_hyst_set, > - .get_trend = mlxsw_thermal_trend_get, > }; > > static int mlxsw_thermal_gearbox_temp_get(struct thermal_zone_device > *tzdev, @@ -568,8 +515,6 @@ static int > mlxsw_thermal_gearbox_temp_get(struct thermal_zone_device *tzdev, > return err; > > mlxsw_reg_mtmp_unpack(mtmp_pl, &temp, NULL, NULL, NULL, > NULL); > - if (temp > 0) > - mlxsw_thermal_tz_score_update(thermal, tzdev, tz->trips, > temp); > > *p_temp = temp; > return 0; > @@ -584,7 +529,6 @@ static struct thermal_zone_device_ops > mlxsw_thermal_gearbox_ops = { > .set_trip_temp = mlxsw_thermal_module_trip_temp_set, > .get_trip_hyst = mlxsw_thermal_module_trip_hyst_get, > .set_trip_hyst = mlxsw_thermal_module_trip_hyst_set, > - .get_trend = mlxsw_thermal_trend_get, > }; > > static int mlxsw_thermal_get_max_state(struct thermal_cooling_device > *cdev, @@ -667,6 +611,7 @@ mlxsw_thermal_module_tz_init(struct > mlxsw_thermal_module *module_tz) > > MLXSW_THERMAL_TRIP_MASK, > module_tz, > > &mlxsw_thermal_module_ops, > + > > &mlxsw_thermal_params, > 0, > module_tz->parent- > >polling_delay); > -- > 2.25.1
Powered by blists - more mailing lists