* [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume
@ 2023-10-04 18:34 Ville Syrjala
2023-10-04 18:45 ` Pandruvada, Srinivas
2023-10-24 19:17 ` [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() Ville Syrjala
0 siblings, 2 replies; 9+ messages in thread
From: Ville Syrjala @ 2023-10-04 18:34 UTC (permalink / raw)
To: linux-pm
Cc: linux-kernel, intel-gfx, Zhang Rui, Wang Wendy,
Rafael J . Wysocki, Srinivas Pandruvada
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Restore enough of the original behaviour to stop spamming
dmesg with warnings about BIOS locked limits when trying
to restore them during resume.
This still doesn't 100% match the original behaviour
as we no longer attempt to blindly restore the BIOS locked
limits. No idea if that makes any difference in practice.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Wang Wendy <wendy.wang@intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits support")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/drivers/powercap/intel_rapl_common.c b/drivers/powercap/intel_rapl_common.c
index 40a2cc649c79..9a6a40c83f82 100644
--- a/drivers/powercap/intel_rapl_common.c
+++ b/drivers/powercap/intel_rapl_common.c
@@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain *rd, int pl,
return rapl_read_data_raw(rd, prim, xlate, data);
}
-static int rapl_write_pl_data(struct rapl_domain *rd, int pl,
- enum pl_prims pl_prim,
- unsigned long long value)
+static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl,
+ enum pl_prims pl_prim,
+ unsigned long long value)
{
enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim);
if (!is_pl_valid(rd, pl))
return -EINVAL;
- if (rd->rpl[pl].locked) {
- pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]);
+ if (rd->rpl[pl].locked)
return -EACCES;
- }
return rapl_write_data_raw(rd, prim, value);
}
+
+static int rapl_write_pl_data(struct rapl_domain *rd, int pl,
+ enum pl_prims pl_prim,
+ unsigned long long value)
+{
+ int ret;
+
+ ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value);
+ if (ret == -EACCES)
+ pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]);
+
+ return ret;
+}
+
/*
* Raw RAPL data stored in MSRs are in certain scales. We need to
* convert them into standard units based on the units reported in
@@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void)
rd = power_zone_to_rapl_domain(rp->power_zone);
for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++)
if (rd->rpl[i].last_power_limit)
- rapl_write_pl_data(rd, i, PL_LIMIT,
- rd->rpl[i].last_power_limit);
+ rapl_write_pl_data_nowarn(rd, i, PL_LIMIT,
+ rd->rpl[i].last_power_limit);
}
cpus_read_unlock();
}
--
2.41.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-04 18:34 [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume Ville Syrjala @ 2023-10-04 18:45 ` Pandruvada, Srinivas 2023-10-04 18:59 ` Ville Syrjälä 2023-10-24 19:17 ` [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() Ville Syrjala 1 sibling, 1 reply; 9+ messages in thread From: Pandruvada, Srinivas @ 2023-10-04 18:45 UTC (permalink / raw) To: ville.syrjala@linux.intel.com, linux-pm@vger.kernel.org Cc: Zhang, Rui, Wysocki, Rafael J, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wang, Wendy On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Restore enough of the original behaviour to stop spamming > dmesg with warnings about BIOS locked limits when trying > to restore them during resume. > > This still doesn't 100% match the original behaviour > as we no longer attempt to blindly restore the BIOS locked > limits. No idea if that makes any difference in practice. > I lost the context here. Why can't we simply change pr_warn to pr_debug here? Thanks, Srinivas > Cc: Zhang Rui <rui.zhang@intel.com> > Cc: Wang Wendy <wendy.wang@intel.com> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits > support") > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++------ > -- > 1 file changed, 20 insertions(+), 8 deletions(-) > > diff --git a/drivers/powercap/intel_rapl_common.c > b/drivers/powercap/intel_rapl_common.c > index 40a2cc649c79..9a6a40c83f82 100644 > --- a/drivers/powercap/intel_rapl_common.c > +++ b/drivers/powercap/intel_rapl_common.c > @@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain > *rd, int pl, > return rapl_read_data_raw(rd, prim, xlate, data); > } > > -static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > - enum pl_prims pl_prim, > - unsigned long long value) > +static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl, > + enum pl_prims pl_prim, > + unsigned long long value) > { > enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim); > > if (!is_pl_valid(rd, pl)) > return -EINVAL; > > - if (rd->rpl[pl].locked) { > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > rd->name, pl_names[pl]); > + if (rd->rpl[pl].locked) > return -EACCES; > - } > > return rapl_write_data_raw(rd, prim, value); > } > + > +static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > + enum pl_prims pl_prim, > + unsigned long long value) > +{ > + int ret; > + > + ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value); > + if (ret == -EACCES) > + pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > rd->name, pl_names[pl]); > + > + return ret; > +} > + > /* > * Raw RAPL data stored in MSRs are in certain scales. We need to > * convert them into standard units based on the units reported in > @@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void) > rd = power_zone_to_rapl_domain(rp->power_zone); > for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++) > if (rd->rpl[i].last_power_limit) > - rapl_write_pl_data(rd, i, PL_LIMIT, > - rd- > >rpl[i].last_power_limit); > + rapl_write_pl_data_nowarn(rd, i, > PL_LIMIT, > + rd- > >rpl[i].last_power_limit); > } > cpus_read_unlock(); > } ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-04 18:45 ` Pandruvada, Srinivas @ 2023-10-04 18:59 ` Ville Syrjälä 2023-10-24 17:11 ` [Intel-gfx] " Ville Syrjälä 0 siblings, 1 reply; 9+ messages in thread From: Ville Syrjälä @ 2023-10-04 18:59 UTC (permalink / raw) To: Pandruvada, Srinivas Cc: linux-pm@vger.kernel.org, Zhang, Rui, Wysocki, Rafael J, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wang, Wendy On Wed, Oct 04, 2023 at 06:45:22PM +0000, Pandruvada, Srinivas wrote: > On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Restore enough of the original behaviour to stop spamming > > dmesg with warnings about BIOS locked limits when trying > > to restore them during resume. > > > > This still doesn't 100% match the original behaviour > > as we no longer attempt to blindly restore the BIOS locked > > limits. No idea if that makes any difference in practice. > > > I lost the context here. Why can't we simply change pr_warn to pr_debug > here? I presume someone wanted to make it pr_warn() for a reason. I don't mind either way. > > Thanks, > Srinivas > > > Cc: Zhang Rui <rui.zhang@intel.com> > > Cc: Wang Wendy <wendy.wang@intel.com> > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits > > support") > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > --- > > drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++------ > > -- > > 1 file changed, 20 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/powercap/intel_rapl_common.c > > b/drivers/powercap/intel_rapl_common.c > > index 40a2cc649c79..9a6a40c83f82 100644 > > --- a/drivers/powercap/intel_rapl_common.c > > +++ b/drivers/powercap/intel_rapl_common.c > > @@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain > > *rd, int pl, > > return rapl_read_data_raw(rd, prim, xlate, data); > > } > > > > -static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > - enum pl_prims pl_prim, > > - unsigned long long value) > > +static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl, > > + enum pl_prims pl_prim, > > + unsigned long long value) > > { > > enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim); > > > > if (!is_pl_valid(rd, pl)) > > return -EINVAL; > > > > - if (rd->rpl[pl].locked) { > > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > rd->name, pl_names[pl]); > > + if (rd->rpl[pl].locked) > > return -EACCES; > > - } > > > > return rapl_write_data_raw(rd, prim, value); > > } > > + > > +static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > + enum pl_prims pl_prim, > > + unsigned long long value) > > +{ > > + int ret; > > + > > + ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value); > > + if (ret == -EACCES) > > + pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > rd->name, pl_names[pl]); > > + > > + return ret; > > +} > > + > > /* > > * Raw RAPL data stored in MSRs are in certain scales. We need to > > * convert them into standard units based on the units reported in > > @@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void) > > rd = power_zone_to_rapl_domain(rp->power_zone); > > for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++) > > if (rd->rpl[i].last_power_limit) > > - rapl_write_pl_data(rd, i, PL_LIMIT, > > - rd- > > >rpl[i].last_power_limit); > > + rapl_write_pl_data_nowarn(rd, i, > > PL_LIMIT, > > + rd- > > >rpl[i].last_power_limit); > > } > > cpus_read_unlock(); > > } > -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-04 18:59 ` Ville Syrjälä @ 2023-10-24 17:11 ` Ville Syrjälä 2023-10-24 18:31 ` Rafael J. Wysocki 0 siblings, 1 reply; 9+ messages in thread From: Ville Syrjälä @ 2023-10-24 17:11 UTC (permalink / raw) To: Pandruvada, Srinivas Cc: linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wysocki, Rafael J, linux-kernel@vger.kernel.org, Zhang, Rui On Wed, Oct 04, 2023 at 09:59:47PM +0300, Ville Syrjälä wrote: > On Wed, Oct 04, 2023 at 06:45:22PM +0000, Pandruvada, Srinivas wrote: > > On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > > Restore enough of the original behaviour to stop spamming > > > dmesg with warnings about BIOS locked limits when trying > > > to restore them during resume. > > > > > > This still doesn't 100% match the original behaviour > > > as we no longer attempt to blindly restore the BIOS locked > > > limits. No idea if that makes any difference in practice. > > > > > I lost the context here. Why can't we simply change pr_warn to pr_debug > > here? > > I presume someone wanted to make it pr_warn() for a reason. > I don't mind either way. Ping. Can someone make a decision on how this should get fixed so we get this moving forward? > > > > > Thanks, > > Srinivas > > > > > Cc: Zhang Rui <rui.zhang@intel.com> > > > Cc: Wang Wendy <wendy.wang@intel.com> > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > > > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits > > > support") > > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > --- > > > drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++------ > > > -- > > > 1 file changed, 20 insertions(+), 8 deletions(-) > > > > > > diff --git a/drivers/powercap/intel_rapl_common.c > > > b/drivers/powercap/intel_rapl_common.c > > > index 40a2cc649c79..9a6a40c83f82 100644 > > > --- a/drivers/powercap/intel_rapl_common.c > > > +++ b/drivers/powercap/intel_rapl_common.c > > > @@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain > > > *rd, int pl, > > > return rapl_read_data_raw(rd, prim, xlate, data); > > > } > > > > > > -static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > - enum pl_prims pl_prim, > > > - unsigned long long value) > > > +static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl, > > > + enum pl_prims pl_prim, > > > + unsigned long long value) > > > { > > > enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim); > > > > > > if (!is_pl_valid(rd, pl)) > > > return -EINVAL; > > > > > > - if (rd->rpl[pl].locked) { > > > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > rd->name, pl_names[pl]); > > > + if (rd->rpl[pl].locked) > > > return -EACCES; > > > - } > > > > > > return rapl_write_data_raw(rd, prim, value); > > > } > > > + > > > +static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > + enum pl_prims pl_prim, > > > + unsigned long long value) > > > +{ > > > + int ret; > > > + > > > + ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value); > > > + if (ret == -EACCES) > > > + pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > rd->name, pl_names[pl]); > > > + > > > + return ret; > > > +} > > > + > > > /* > > > * Raw RAPL data stored in MSRs are in certain scales. We need to > > > * convert them into standard units based on the units reported in > > > @@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void) > > > rd = power_zone_to_rapl_domain(rp->power_zone); > > > for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++) > > > if (rd->rpl[i].last_power_limit) > > > - rapl_write_pl_data(rd, i, PL_LIMIT, > > > - rd- > > > >rpl[i].last_power_limit); > > > + rapl_write_pl_data_nowarn(rd, i, > > > PL_LIMIT, > > > + rd- > > > >rpl[i].last_power_limit); > > > } > > > cpus_read_unlock(); > > > } > > > > -- > Ville Syrjälä > Intel -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-24 17:11 ` [Intel-gfx] " Ville Syrjälä @ 2023-10-24 18:31 ` Rafael J. Wysocki 2023-10-24 18:48 ` Ville Syrjälä 0 siblings, 1 reply; 9+ messages in thread From: Rafael J. Wysocki @ 2023-10-24 18:31 UTC (permalink / raw) To: Ville Syrjälä Cc: Pandruvada, Srinivas, linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wysocki, Rafael J, linux-kernel@vger.kernel.org, Zhang, Rui On Tue, Oct 24, 2023 at 7:11 PM Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > > On Wed, Oct 04, 2023 at 09:59:47PM +0300, Ville Syrjälä wrote: > > On Wed, Oct 04, 2023 at 06:45:22PM +0000, Pandruvada, Srinivas wrote: > > > On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > > > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > > > > Restore enough of the original behaviour to stop spamming > > > > dmesg with warnings about BIOS locked limits when trying > > > > to restore them during resume. > > > > > > > > This still doesn't 100% match the original behaviour > > > > as we no longer attempt to blindly restore the BIOS locked > > > > limits. No idea if that makes any difference in practice. > > > > > > > I lost the context here. Why can't we simply change pr_warn to pr_debug > > > here? > > > > I presume someone wanted to make it pr_warn() for a reason. > > I don't mind either way. > > Ping. Can someone make a decision on how this should get fixed > so we get this moving forward? I thought we were going to replace the pr_warn() with pr_debug(). > > > > Cc: Zhang Rui <rui.zhang@intel.com> > > > > Cc: Wang Wendy <wendy.wang@intel.com> > > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > > > > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits > > > > support") > > > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > --- > > > > drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++------ > > > > -- > > > > 1 file changed, 20 insertions(+), 8 deletions(-) > > > > > > > > diff --git a/drivers/powercap/intel_rapl_common.c > > > > b/drivers/powercap/intel_rapl_common.c > > > > index 40a2cc649c79..9a6a40c83f82 100644 > > > > --- a/drivers/powercap/intel_rapl_common.c > > > > +++ b/drivers/powercap/intel_rapl_common.c > > > > @@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain > > > > *rd, int pl, > > > > return rapl_read_data_raw(rd, prim, xlate, data); > > > > } > > > > > > > > -static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > > - enum pl_prims pl_prim, > > > > - unsigned long long value) > > > > +static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl, > > > > + enum pl_prims pl_prim, > > > > + unsigned long long value) > > > > { > > > > enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim); > > > > > > > > if (!is_pl_valid(rd, pl)) > > > > return -EINVAL; > > > > > > > > - if (rd->rpl[pl].locked) { > > > > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > > rd->name, pl_names[pl]); > > > > + if (rd->rpl[pl].locked) > > > > return -EACCES; > > > > - } > > > > > > > > return rapl_write_data_raw(rd, prim, value); > > > > } > > > > + > > > > +static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > > + enum pl_prims pl_prim, > > > > + unsigned long long value) > > > > +{ > > > > + int ret; > > > > + > > > > + ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value); > > > > + if (ret == -EACCES) > > > > + pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > > rd->name, pl_names[pl]); > > > > + > > > > + return ret; > > > > +} > > > > + > > > > /* > > > > * Raw RAPL data stored in MSRs are in certain scales. We need to > > > > * convert them into standard units based on the units reported in > > > > @@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void) > > > > rd = power_zone_to_rapl_domain(rp->power_zone); > > > > for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++) > > > > if (rd->rpl[i].last_power_limit) > > > > - rapl_write_pl_data(rd, i, PL_LIMIT, > > > > - rd- > > > > >rpl[i].last_power_limit); > > > > + rapl_write_pl_data_nowarn(rd, i, > > > > PL_LIMIT, > > > > + rd- > > > > >rpl[i].last_power_limit); > > > > } > > > > cpus_read_unlock(); > > > > } > > > > > > > -- ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-24 18:31 ` Rafael J. Wysocki @ 2023-10-24 18:48 ` Ville Syrjälä 2023-10-24 18:52 ` Rafael J. Wysocki 0 siblings, 1 reply; 9+ messages in thread From: Ville Syrjälä @ 2023-10-24 18:48 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Pandruvada, Srinivas, linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wysocki, Rafael J, linux-kernel@vger.kernel.org, Zhang, Rui On Tue, Oct 24, 2023 at 08:31:34PM +0200, Rafael J. Wysocki wrote: > On Tue, Oct 24, 2023 at 7:11 PM Ville Syrjälä > <ville.syrjala@linux.intel.com> wrote: > > > > On Wed, Oct 04, 2023 at 09:59:47PM +0300, Ville Syrjälä wrote: > > > On Wed, Oct 04, 2023 at 06:45:22PM +0000, Pandruvada, Srinivas wrote: > > > > On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > > > > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > > > > > > Restore enough of the original behaviour to stop spamming > > > > > dmesg with warnings about BIOS locked limits when trying > > > > > to restore them during resume. > > > > > > > > > > This still doesn't 100% match the original behaviour > > > > > as we no longer attempt to blindly restore the BIOS locked > > > > > limits. No idea if that makes any difference in practice. > > > > > > > > > I lost the context here. Why can't we simply change pr_warn to pr_debug > > > > here? > > > > > > I presume someone wanted to make it pr_warn() for a reason. > > > I don't mind either way. > > > > Ping. Can someone make a decision on how this should get fixed > > so we get this moving forward? > > I thought we were going to replace the pr_warn() with pr_debug(). I didn't get any answer whether anyone wants to keep the pr_warn(). If everyone is happy with pr_debug() that then I can send a patch for it. > > > > > > Cc: Zhang Rui <rui.zhang@intel.com> > > > > > Cc: Wang Wendy <wendy.wang@intel.com> > > > > > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > > > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > > > > > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits > > > > > support") > > > > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > --- > > > > > drivers/powercap/intel_rapl_common.c | 28 ++++++++++++++++++++------ > > > > > -- > > > > > 1 file changed, 20 insertions(+), 8 deletions(-) > > > > > > > > > > diff --git a/drivers/powercap/intel_rapl_common.c > > > > > b/drivers/powercap/intel_rapl_common.c > > > > > index 40a2cc649c79..9a6a40c83f82 100644 > > > > > --- a/drivers/powercap/intel_rapl_common.c > > > > > +++ b/drivers/powercap/intel_rapl_common.c > > > > > @@ -882,22 +882,34 @@ static int rapl_read_pl_data(struct rapl_domain > > > > > *rd, int pl, > > > > > return rapl_read_data_raw(rd, prim, xlate, data); > > > > > } > > > > > > > > > > -static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > > > - enum pl_prims pl_prim, > > > > > - unsigned long long value) > > > > > +static int rapl_write_pl_data_nowarn(struct rapl_domain *rd, int pl, > > > > > + enum pl_prims pl_prim, > > > > > + unsigned long long value) > > > > > { > > > > > enum rapl_primitives prim = get_pl_prim(rd, pl, pl_prim); > > > > > > > > > > if (!is_pl_valid(rd, pl)) > > > > > return -EINVAL; > > > > > > > > > > - if (rd->rpl[pl].locked) { > > > > > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > > > rd->name, pl_names[pl]); > > > > > + if (rd->rpl[pl].locked) > > > > > return -EACCES; > > > > > - } > > > > > > > > > > return rapl_write_data_raw(rd, prim, value); > > > > > } > > > > > + > > > > > +static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > > > > > + enum pl_prims pl_prim, > > > > > + unsigned long long value) > > > > > +{ > > > > > + int ret; > > > > > + > > > > > + ret = rapl_write_pl_data_nowarn(rd, pl, pl_prim, value); > > > > > + if (ret == -EACCES) > > > > > + pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, > > > > > rd->name, pl_names[pl]); > > > > > + > > > > > + return ret; > > > > > +} > > > > > + > > > > > /* > > > > > * Raw RAPL data stored in MSRs are in certain scales. We need to > > > > > * convert them into standard units based on the units reported in > > > > > @@ -1634,8 +1646,8 @@ static void power_limit_state_restore(void) > > > > > rd = power_zone_to_rapl_domain(rp->power_zone); > > > > > for (i = POWER_LIMIT1; i < NR_POWER_LIMITS; i++) > > > > > if (rd->rpl[i].last_power_limit) > > > > > - rapl_write_pl_data(rd, i, PL_LIMIT, > > > > > - rd- > > > > > >rpl[i].last_power_limit); > > > > > + rapl_write_pl_data_nowarn(rd, i, > > > > > PL_LIMIT, > > > > > + rd- > > > > > >rpl[i].last_power_limit); > > > > > } > > > > > cpus_read_unlock(); > > > > > } > > > > > > > > > > -- -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Intel-gfx] [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume 2023-10-24 18:48 ` Ville Syrjälä @ 2023-10-24 18:52 ` Rafael J. Wysocki 0 siblings, 0 replies; 9+ messages in thread From: Rafael J. Wysocki @ 2023-10-24 18:52 UTC (permalink / raw) To: Ville Syrjälä Cc: Rafael J. Wysocki, Pandruvada, Srinivas, linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Wysocki, Rafael J, linux-kernel@vger.kernel.org, Zhang, Rui On Tue, Oct 24, 2023 at 8:48 PM Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > > On Tue, Oct 24, 2023 at 08:31:34PM +0200, Rafael J. Wysocki wrote: > > On Tue, Oct 24, 2023 at 7:11 PM Ville Syrjälä > > <ville.syrjala@linux.intel.com> wrote: > > > > > > On Wed, Oct 04, 2023 at 09:59:47PM +0300, Ville Syrjälä wrote: > > > > On Wed, Oct 04, 2023 at 06:45:22PM +0000, Pandruvada, Srinivas wrote: > > > > > On Wed, 2023-10-04 at 21:34 +0300, Ville Syrjala wrote: > > > > > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > > > > > > > > > Restore enough of the original behaviour to stop spamming > > > > > > dmesg with warnings about BIOS locked limits when trying > > > > > > to restore them during resume. > > > > > > > > > > > > This still doesn't 100% match the original behaviour > > > > > > as we no longer attempt to blindly restore the BIOS locked > > > > > > limits. No idea if that makes any difference in practice. > > > > > > > > > > > I lost the context here. Why can't we simply change pr_warn to pr_debug > > > > > here? > > > > > > > > I presume someone wanted to make it pr_warn() for a reason. > > > > I don't mind either way. > > > > > > Ping. Can someone make a decision on how this should get fixed > > > so we get this moving forward? > > > > I thought we were going to replace the pr_warn() with pr_debug(). > > I didn't get any answer whether anyone wants to keep the pr_warn(). > If everyone is happy with pr_debug() that then I can send a patch > for it. Yes, please. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() 2023-10-04 18:34 [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume Ville Syrjala 2023-10-04 18:45 ` Pandruvada, Srinivas @ 2023-10-24 19:17 ` Ville Syrjala 2023-10-24 20:08 ` Rafael J. Wysocki 1 sibling, 1 reply; 9+ messages in thread From: Ville Syrjala @ 2023-10-24 19:17 UTC (permalink / raw) To: linux-pm Cc: linux-kernel, intel-gfx, Zhang Rui, Wang Wendy, Rafael J . Wysocki, Srinivas Pandruvada From: Ville Syrjälä <ville.syrjala@linux.intel.com> Before the refactoring the pr_warn() only triggered when someone explicitly tried to write to a BIOS locked limit. After the refactoring the warning is also triggering during system resume. The user can't do anything about this so printing scary warnings doesn't make sense Keep the printk but make it pr_debug() instead of pr_warn() to make it clear it's not a serious issue. Cc: Zhang Rui <rui.zhang@intel.com> Cc: Wang Wendy <wendy.wang@intel.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits support") Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/powercap/intel_rapl_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/powercap/intel_rapl_common.c b/drivers/powercap/intel_rapl_common.c index 40a2cc649c79..2feed036c1cd 100644 --- a/drivers/powercap/intel_rapl_common.c +++ b/drivers/powercap/intel_rapl_common.c @@ -892,7 +892,7 @@ static int rapl_write_pl_data(struct rapl_domain *rd, int pl, return -EINVAL; if (rd->rpl[pl].locked) { - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]); + pr_debug("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]); return -EACCES; } -- 2.41.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() 2023-10-24 19:17 ` [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() Ville Syrjala @ 2023-10-24 20:08 ` Rafael J. Wysocki 0 siblings, 0 replies; 9+ messages in thread From: Rafael J. Wysocki @ 2023-10-24 20:08 UTC (permalink / raw) To: Ville Syrjala Cc: linux-pm, linux-kernel, intel-gfx, Zhang Rui, Wang Wendy, Rafael J . Wysocki, Srinivas Pandruvada On Tue, Oct 24, 2023 at 9:17 PM Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Before the refactoring the pr_warn() only triggered when > someone explicitly tried to write to a BIOS locked limit. > After the refactoring the warning is also triggering during > system resume. The user can't do anything about this so > printing scary warnings doesn't make sense > > Keep the printk but make it pr_debug() instead of pr_warn() > to make it clear it's not a serious issue. > > Cc: Zhang Rui <rui.zhang@intel.com> > Cc: Wang Wendy <wendy.wang@intel.com> > Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com> > Fixes: 9050a9cd5e4c ("powercap: intel_rapl: Cleanup Power Limits support") > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/powercap/intel_rapl_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/powercap/intel_rapl_common.c b/drivers/powercap/intel_rapl_common.c > index 40a2cc649c79..2feed036c1cd 100644 > --- a/drivers/powercap/intel_rapl_common.c > +++ b/drivers/powercap/intel_rapl_common.c > @@ -892,7 +892,7 @@ static int rapl_write_pl_data(struct rapl_domain *rd, int pl, > return -EINVAL; > > if (rd->rpl[pl].locked) { > - pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]); > + pr_debug("%s:%s:%s locked by BIOS\n", rd->rp->name, rd->name, pl_names[pl]); > return -EACCES; > } > > -- Applied, thanks! ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-10-24 20:08 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-10-04 18:34 [PATCH] powercap: intel_rapl: Don't warn about BIOS locked limits during resume Ville Syrjala 2023-10-04 18:45 ` Pandruvada, Srinivas 2023-10-04 18:59 ` Ville Syrjälä 2023-10-24 17:11 ` [Intel-gfx] " Ville Syrjälä 2023-10-24 18:31 ` Rafael J. Wysocki 2023-10-24 18:48 ` Ville Syrjälä 2023-10-24 18:52 ` Rafael J. Wysocki 2023-10-24 19:17 ` [PATCH v2] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() Ville Syrjala 2023-10-24 20:08 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).