All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: dirk.brandewie@gmail.com, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, patrick.marlier@gmail.com,
	viresh.kumar@linaro.org, srivatsa.bhat@linux.vnet.ibm.com,
	Dirk Brandewie <dirk.j.brandewie@intel.com>
Subject: Re: [PATCH 1/2] cpufreq: Add stop callback to cpufreq_driver interface
Date: Thu, 20 Mar 2014 08:01:48 -0700	[thread overview]
Message-ID: <532B02DC.5000306@gmail.com> (raw)
In-Reply-To: <2400024.pvKZSBQzVt@vostro.rjw.lan>

On 03/19/2014 08:28 PM, Rafael J. Wysocki wrote:
> On Wednesday, March 19, 2014 11:31:31 PM Rafael J. Wysocki wrote:
>> On Wednesday, March 19, 2014 08:45:53 AM dirk.brandewie@gmail.com wrote:
>>> From: Dirk Brandewie <dirk.j.brandewie@intel.com>
>>>
>>> This callback allows the driver to do clean up before the CPU is
>>> completely down and its state cannot be modified.  This is used
>>> by the intel_pstate driver to reduce the requested P state prior to
>>> the core going away.  This is required because the requested P state
>>> of the offline core is used to select the package P state. This
>>> effectively sets the floor package P state to the requested P state on
>>> the offline core.
>>>
>>> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
>
> To speed up things a bit I changed the name of the new callback to ->stop_cpu
> and made it void.
>
> I also modified patch [2/2] accordingly and queued the both of them up for 3.15.
>
> Please check the bleeding-edge branch.
>
> I wouldn't like to need to do anything like that any more in the future, though.

Sorry had appointments yesterday afternoon.

bleeding-edge looks good


>
>>> ---
>>>   Documentation/cpu-freq/cpu-drivers.txt | 8 +++++++-
>>>   drivers/cpufreq/cpufreq.c              | 3 ++-
>>>   include/linux/cpufreq.h                | 1 +
>>>   3 files changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/cpu-freq/cpu-drivers.txt b/Documentation/cpu-freq/cpu-drivers.txt
>>> index 8b1a445..79def80 100644
>>> --- a/Documentation/cpu-freq/cpu-drivers.txt
>>> +++ b/Documentation/cpu-freq/cpu-drivers.txt
>>> @@ -61,7 +61,13 @@ target_index		-	See below on the differences.
>>>
>>>   And optionally
>>>
>>> -cpufreq_driver.exit -		A pointer to a per-CPU cleanup function.
>>> +cpufreq_driver.exit -		A pointer to a per-CPU cleanup
>>> +		    		function called during CPU_POST_DEAD
>>> +		    		phase of cpu hotplug process.
>>> +
>>> +cpufreq_driver.stop -		A pointer to a per-CPU stop function
>>> +			    	called during CPU_DOWN_PREPARE phase of
>>> +				cpu hotplug process.
>>>
>>>   cpufreq_driver.resume -		A pointer to a per-CPU resume function
>>>   				which is called with interrupts disabled
>>> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
>>> index cf485d9..bb20292 100644
>>> --- a/drivers/cpufreq/cpufreq.c
>>> +++ b/drivers/cpufreq/cpufreq.c
>>> @@ -1336,7 +1336,8 @@ static int __cpufreq_remove_dev_prepare(struct device *dev,
>>>   						__func__, new_cpu, cpu);
>>>   			}
>>>   		}
>>> -	}
>>> +	} else if (cpufreq_driver->stop && cpufreq_driver->setpolicy)
>>> +		cpufreq_driver->stop(policy);
>>
>> Nit: Why is it an int function if the only caller doesn't check the
>> return value?  It should be void.
>>
>>>
>>>   	return 0;
>>>   }
>>> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
>>> index 4d89e0e..ff8db19 100644
>>> --- a/include/linux/cpufreq.h
>>> +++ b/include/linux/cpufreq.h
>>> @@ -224,6 +224,7 @@ struct cpufreq_driver {
>>>   	int	(*bios_limit)	(int cpu, unsigned int *limit);
>>>
>>>   	int	(*exit)		(struct cpufreq_policy *policy);
>>> +	int	(*stop)		(struct cpufreq_policy *policy);
>>>   	int	(*suspend)	(struct cpufreq_policy *policy);
>>>   	int	(*resume)	(struct cpufreq_policy *policy);
>>>   	struct freq_attr	**attr;
>>>
>>
>>
>


  reply	other threads:[~2014-03-20 15:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 15:45 [PATCH v4 0/2] Add stop callback to the cpufreq_driver interface dirk.brandewie
2014-03-19 15:45 ` [PATCH 1/2] cpufreq: Add stop callback to " dirk.brandewie
2014-03-19 22:31   ` Rafael J. Wysocki
2014-03-20  3:28     ` Rafael J. Wysocki
2014-03-20 15:01       ` Dirk Brandewie [this message]
2014-03-19 15:45 ` [PATCH 2/2] intel_pstate: Set core to min P state during core offline dirk.brandewie
2014-03-20  0:01   ` Viresh Kumar
  -- strict thread matches above, loose matches on Subject: below --
2014-03-14 21:03 [PATCH v2 0/2] Add exit_prepare callback to the cpufreq_driver interface dirk.brandewie
2014-03-18 17:22 ` [PATCH v3 0/2] Add stop " dirk.brandewie
2014-03-18 17:22   ` [PATCH 1/2] cpufreq: Add stop callback to " dirk.brandewie
2014-03-19  5:04     ` Viresh Kumar

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=532B02DC.5000306@gmail.com \
    --to=dirk.brandewie@gmail.com \
    --cc=dirk.j.brandewie@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=patrick.marlier@gmail.com \
    --cc=rjw@rjwysocki.net \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=viresh.kumar@linaro.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.