From: Eduardo Valentin <eduardo.valentin@ti.com>
To: "R, Durgadoss" <durgadoss.r@intel.com>
Cc: Jean Delvare <jdelvare@suse.com>,
"Brown, Len" <len.brown@intel.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
linux-pm <linux-pm@lists.linux-foundation.org>
Subject: Re: [RFC] the generic thermal layer enhancement
Date: Wed, 30 May 2012 14:17:29 +0300 [thread overview]
Message-ID: <20120530111729.GC3261@besouro> (raw)
In-Reply-To: <4D68720C2E767A4AA6A8796D42C8EB5912C976@BGSMSX101.gar.corp.intel.com>
Hello Durga,
On Wed, May 30, 2012 at 11:05:18AM +0000, R, Durgadoss wrote:
> Hi Eduardo,
>
> >
> > For G1+G2, I agree with your proposal. I had some discussion with Amit
> > regarding this. In his series of patches we increase / decrease the cooling
> > device state linearly and steadily.
> >
> > But if we would have what you are saying, we could bind cooling device
> > set of states with trip points.
>
> True, We want to bind the levels of cooling with the trips points a thermal zone has.
> But we might not get a 1-1 mapping always.
Just to make sure we are all taking the same thing.
In this case a cooling device would have 1-N states. And this set could
be partitioned and each partition would be assigned to a specific trip point
of a thermal zone, right?
>
> >
> > I fully support this option and could cook up something on this.
> > The TC1 and TC2 should go inside the .get_trend() callbacks for ACPI.
> > Should probably go away from the registration function that we have
> > currently.
>
> I realize I just said the same thing :-)
Cool :-)
>
> >
> > We could have generic trending computation though. Based on timestamping
> > and temperature reads, and make it available for zones that want to used it.
>
> Agree, but I would like this go into the platform thermal drivers. And then when
> those drivers notify the framework they can specify the trend also. This sort of
> notification is not there, but that is what I am implementing these days..
> Hope to submit this patch in a week's time..
Nice, I actually have something being cooked for the same thing. We should probably
align to avoid work duplication...
>
> > > > case THERMAL_TRIP_ACTIVE:
> > > > case THERMAL_TRIP_PASSIVE:
> > > > ...
> > > > tz->ops->get_trend();
> >
> > Would the get_trend take into account if we are cooling with active or passive
> > cooling device?
>
> To me, it does not matter. It is up to the framework to decide and throttle,
> the respective cooling devices according to the trend.
OK. For me it doesn't really matter as well. Having a simplified zone update is better.
>
> >
> > > > if (trend == HEATING)
> > > > cdev->ops->set_cur_state(cdev, cur_state++);
> > > > else if (trend == COOLING)
> > > > cdev->ops->set_cur_state(cdev, cur_state--);
> > > > break;
> >
> > I believe we should have something for temperature stabilization there as well.
> >
> > Besides, if we go with this generic policy, then the zone update would be much
> > simpler no?
>
> Yes, and that’s what we want too :-)
Nice!
>
> > Here are some other thoughts:
> > G6. Another point is, would it make sense to allow for policy extension? Meaning,
> > the zone update would call a callback to request for update from the zone
> > device driver?
> >
> > G7. How do we solve cooling devices being shared between different thermal
> > zones?
> > Should we have a better cooling device constraint management?
>
> This is another thing that was haunting me for quite some time.
> And What I have in mind is a mapping kind of thing in the platform layer,
> that will provide details about which cooling device is shared with whom.
> The framework can then use this and figure out the association among various devices.
> I am testing it out, and will submit once it comes to a good shape.
Right, I am not sure we want to go in this direction?
Maybe a better way would be to have sort of pm/thermal contraint framework, which
would map these per device, at LDM level?
I am copying Jean-Pihet, he has been working in this front. Jean, any thoughts?
>
> Thanks,
> Durga
>
All Best,
--
Eduardo
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-pm
next prev parent reply other threads:[~2012-05-30 11:17 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-30 8:49 [RFC] the generic thermal layer enhancement Zhang Rui
2012-05-30 8:51 ` [linux-pm] " Zhang Rui
2012-05-30 10:30 ` Eduardo Valentin
2012-05-30 11:05 ` R, Durgadoss
2012-05-30 11:17 ` Eduardo Valentin [this message]
2012-05-31 3:32 ` Zhang Rui
2012-05-31 11:06 ` Eduardo Valentin
2012-05-31 11:14 ` R, Durgadoss
2012-05-31 3:27 ` Zhang Rui
2012-05-31 2:20 ` [linux-pm] " Zhang Rui
2012-05-31 5:16 ` Amit Kachhap
2012-05-31 6:13 ` Zhang Rui
2012-05-31 11:13 ` Eduardo Valentin
2012-06-01 9:05 ` [linux-pm] " Jean Pihet
2012-05-30 10:44 ` R, Durgadoss
2012-05-31 3:15 ` Zhang Rui
2012-05-30 12:50 ` Matthew Garrett
2012-05-31 3:54 ` Zhang Rui
2012-05-31 3:58 ` Matthew Garrett
2012-05-31 5:54 ` Zhang Rui
2012-05-31 4:59 ` Amit Kachhap
2012-05-31 6:09 ` Zhang Rui
2012-05-31 10:59 ` Eduardo Valentin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120530111729.GC3261@besouro \
--to=eduardo.valentin@ti.com \
--cc=durgadoss.r@intel.com \
--cc=jdelvare@suse.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.