Re: [PATCH v2 09/15] powercap/intel_rapl: Cleanup Power Limits support
From: Pandruvada, Srinivas
Date: Wed Sep 06 2023 - 11:32:24 EST
On Wed, 2023-09-06 at 03:14 +0000, Zhang, Rui wrote:
> Hi, Ville,
>
>
[...]
> The below change keeps the previous logic, can you confirm this?
>
> IMO, the new logic is right because making any change to a
> locked power limit is meaningless.
>
> Srinivas,
>
> Do we check if a domain/power_limit is locked before we enabling it
> in
> thermald?
There is no way to check locked bit from user space.
This was an issue several years back and thermald added logic to avoid
trying.
"
if (ret == -ENODATA) {
thd_log_info("powercap RAPL is BIOS locked,
cannot update\n");
bios_locked = true;
}
"
But here it seems that issue with suspend/resume. thermald doesn't do
anything during suspend/resume.
Thanks,
Srinivas
>
> thanks,
> rui
>
> diff --git a/drivers/powercap/intel_rapl_common.c
> b/drivers/powercap/intel_rapl_common.c
> index 5c2e6d5eea2a..f6816a91d027 100644
> --- a/drivers/powercap/intel_rapl_common.c
> +++ b/drivers/powercap/intel_rapl_common.c
> @@ -893,7 +893,7 @@ static int rapl_write_pl_data(struct rapl_domain
> *rd, int pl,
> if (!is_pl_valid(rd, pl))
> return -EINVAL;
>
> - if (rd->rpl[pl].locked) {
> + if (rd->rpl[pl].locked && pl_prim == PL_LIMIT) {
> pr_warn("%s:%s:%s locked by BIOS\n", rd->rp->name,
> rd-
> > name, pl_names[pl]);
> return -EACCES;
> }
>
>
>
>
>