All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Valentin <eduardo.valentin@ti.com>
To: "R, Durgadoss" <durgadoss.r@intel.com>
Cc: "eduardo.valentin@ti.com" <eduardo.valentin@ti.com>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"Zhang, Rui" <rui.zhang@intel.com>, "rjw@sisk.pl" <rjw@sisk.pl>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"amit.kachhap@linaro.org" <amit.kachhap@linaro.org>,
	"wni@nvidia.com" <wni@nvidia.com>
Subject: Re: [PATCH 08/13] Thermal: Introduce fair_share thermal governor
Date: Tue, 21 Aug 2012 17:16:03 +0300	[thread overview]
Message-ID: <20120821141508.GA5030@besouro> (raw)
In-Reply-To: <4D68720C2E767A4AA6A8796D42C8EB591AA858@BGSMSX101.gar.corp.intel.com>

hello,

On Tue, Aug 21, 2012 at 05:59:00AM +0000, R, Durgadoss wrote:
> Hi Eduardo,
> 
> > > +static long get_target_state(struct thermal_zone_device *tz,
> > > +		struct thermal_cooling_device *cdev, int weight, int level)
> > > +{
> > > +	unsigned long max_state;
> > > +
> > > +	cdev->ops->get_max_state(cdev, &max_state);
> > > +
> > > +	return (long)(weight * level * max_state) / (100 * tz->trips);
> > > +}
> > > +
> > > +static void thermal_cdev_update(struct thermal_cooling_device *cdev)
> > > +{
> > > +	struct thermal_instance *instance;
> > > +	unsigned long target = 0;
> > > +
> > > +	mutex_lock(&cdev->lock);
> > > +
> > > +	/* Make sure cdev enters the deepest cooling state */
> > > +	list_for_each_entry(instance, &cdev->thermal_instances,
> > cdev_node) {
> > > +		if (instance->target > target)
> > > +			target = instance->target;
> > > +	}
> > > +
> > > +	mutex_unlock(&cdev->lock);
> > > +
> > > +	cdev->ops->set_cur_state(cdev, target);
> > > +}
> > 
> > I believe Rui has already provided an arbitrator, can we reuse it here as well?
> 
> I thought about this. I was of the opinion a governor can choose to do arbitration
> in its own specific way. For example, The fair_share does not check 'cdev->updated'
> value whenever it tries to update the state of a cooling device.

I see. the arbitration starts to get more and more complex. not to talk about constraints
coming from performance domain and not thermal.

I'd still try to find a central point for doing the arbitration, this way we grow the code
in a scalable way...

> 
> Thanks,
> Durga

  reply	other threads:[~2012-08-21 14:16 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-09 12:45 [PATCH 00/13] Thermal Framework Enhancements Durgadoss R
2012-08-09 12:45 ` [PATCH 01/13] Thermal: Refactor thermal.h file Durgadoss R
2012-08-20 15:58   ` Eduardo Valentin
2012-08-20 16:42     ` R, Durgadoss
2012-08-20 17:53       ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 02/13] Thermal: Move thermal_instance to thermal.h Durgadoss R
2012-08-16  6:14   ` Zhang Rui
2012-08-16  6:19     ` R, Durgadoss
2012-08-16  6:29       ` Zhang Rui
2012-08-16  6:31         ` R, Durgadoss
2012-08-16  7:12           ` Zhang Rui
2012-08-20 20:41             ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 03/13] Thermal: Add get trend, get instance API's to thermal_sys Durgadoss R
2012-08-20 20:58   ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 04/13] Thermal: Add platform level information to thermal.h Durgadoss R
2012-08-13  6:27   ` Zhang Rui
2012-08-13  6:31     ` R, Durgadoss
2012-08-16  6:16   ` Zhang Rui
2012-08-20 21:11   ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 05/13] Thermal: Obtain platform data for thermal zone Durgadoss R
2012-08-21  5:20   ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 06/13] Thermal: Add a policy sysfs attribute Durgadoss R
2012-08-13  6:28   ` Zhang Rui
2012-08-13  6:34     ` R, Durgadoss
2012-08-13  7:07       ` Zhang Rui
2012-08-21  5:31   ` Eduardo Valentin
2012-08-09 12:45 ` [PATCH 07/13] Thermal: Update binding logic based on platform data Durgadoss R
2012-08-13  6:41   ` Zhang Rui
2012-08-13 15:41     ` R, Durgadoss
2012-08-15  6:53       ` Zhang Rui
2012-08-15  9:17         ` R, Durgadoss
2012-08-16  3:30           ` Zhang Rui
2012-08-16  3:31             ` R, Durgadoss
2012-08-20 18:11               ` Eduardo Valentin
2012-08-09 12:46 ` [PATCH 08/13] Thermal: Introduce fair_share thermal governor Durgadoss R
2012-08-21  5:33   ` Eduardo Valentin
2012-08-21  5:59     ` R, Durgadoss
2012-08-21 14:16       ` Eduardo Valentin [this message]
2012-08-09 12:46 ` [PATCH 09/13] Thermal: Introduce a step_wise " Durgadoss R
2012-08-21  5:35   ` Eduardo Valentin
2012-08-09 12:46 ` [PATCH 10/13] Thermal: Remove throttling logic out of thermal_sys.c Durgadoss R
2012-08-13  7:00   ` Zhang Rui
2012-08-13  8:04     ` R, Durgadoss
2012-08-21  5:36       ` Eduardo Valentin
2012-08-09 12:46 ` [PATCH 11/13] Thermal: Add a notification API Durgadoss R
2012-08-13  7:02   ` Zhang Rui
2012-08-13  7:46     ` R, Durgadoss
2012-08-21  5:17       ` Eduardo Valentin
2012-08-09 12:46 ` [PATCH 12/13] Thermal: Add documentation for platform layer data Durgadoss R
2012-08-21  5:38   ` Eduardo Valentin
2012-08-21  5:51     ` R, Durgadoss
2012-08-09 12:46 ` [PATCH 13/13] Thermal: Platform layer changes to provide thermal data Durgadoss R
2012-08-21  5:39   ` Eduardo Valentin
2012-08-21  5:52     ` R, Durgadoss
2012-08-21  5:55       ` Zhang Rui
2012-08-21  6:41         ` R, Durgadoss
2012-08-21  6:52           ` Zhang Rui
2012-08-21  8:51             ` Eduardo Valentin
2012-08-23  0:11               ` Zhang Rui
2012-08-21  9:28             ` R, Durgadoss
2012-08-23  0:23               ` Zhang Rui

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=20120821141508.GA5030@besouro \
    --to=eduardo.valentin@ti.com \
    --cc=amit.kachhap@linaro.org \
    --cc=durgadoss.r@intel.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=rui.zhang@intel.com \
    --cc=wni@nvidia.com \
    /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.