Re: [PATCH v3 0/4] thermal: re-calculate k_po/k_pu when update sustainable power

From: Leo Yan
Date: Wed Jan 06 2016 - 06:17:28 EST


Hi Javi,

On Wed, Jan 06, 2016 at 10:07:13AM +0000, Javi Merino wrote:
> On Wed, Jan 06, 2016 at 04:53:44PM +0800, Leo Yan wrote:
> > k_po/k_pu are two proportional term constants and essentially they have
> > fixed ratio compared with sustainable power. In current implementation,
> > k_po and k_pu are absolute value after calculation and cannot represent
> > the ratio relationship with sustainable power; as a result, when change
> > sustainable power we cannot smoothly change proportional term constant.
>
> In v2 Daniel said that the use case was made up. Can you elaborate on
> why we need this?

When I did IPA profiling on Hikey, I tried to set different
sustainable power. But after changed sustainable power, k_po and k_pu
were stale value which calculated by old sustainable power.

So with this patch, it's more convinence for profiling and can avoid
confusion for k_po/k_pu after update sustainable power.

> > So this patch series introduces k_po_ratio and k_pu_ratio, which
> > represent the ratio value compared against sustainable power. Also add
> > sys file system nodes for them for easily update them from userspace and
> > update a bit in documentation.
>
> Actually, it makes it harder to update from userspace. Now userspace
> can't set a k_po/k_pu any more, and it's forced to set them as ratios
> of sustainable power. I'd rather not do this unless there is a good
> reason for it.

We use ratios of sustainable power to calculate k_po/k_pu, so if user
explicitly specify ratio values we can easily to update k_po/k_pu
after we change sustainable power.

Otherwise, it's hard to get to know the real ratio values of
sustainable power. Please review below case:

- If we set new sustainable power, then actually in kernel it should
update k_po/k_pu so that can keep fixed ration;
- At the meantime, user can set k_po/k_pu from sys file node so that
eventually change ratio;

So here has race condition with updating k_po/k_pu and the code is
hard to distinguish what is real real ratio. If have explicit parameters
for ratios, then will be much clear.

Thanks,
Leo Yan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/