On 01/02/2018 08:57, Vincent Guittot wrote:
> On 31 January 2018 at 16:27, Daniel Lezcano <[email protected]> wrote:
>> On 31/01/2018 10:56, Vincent Guittot wrote:
>>> On 31 January 2018 at 10:50, Daniel Lezcano <[email protected]>
>>> wrote:
>>>> On 31/01/2018 10:46, Vincent Guittot wrote:
>>>>> On 31 January 2018 at 10:33, Daniel Lezcano <[email protected]>
>>>>> wrote:
>>>>>> On 31/01/2018 10:01, Vincent Guittot wrote:
>>>>>>> Hi Daniel,
>>>>>>>
>>>>>>> On 23 January 2018 at 16:34, Daniel Lezcano <[email protected]>
>>>>>>> wrote:
>>>>>>
>>>>>> [ ... ] (please trim :)
>>>>>>
[ ... ]
> struct cpuidle_cooling_device {
> struct thermal_cooling_device *cdev;
> struct cpumask *cpumask;
> struct list_head node;
> struct hrtimer timer;
> struct kref kref;
> atomic_t count;
> unsigned int idle_cycle;
> unsigned int state;
> };
>
> struct cpuidle_cooling_cpu {
> struct task_struct *tsk;
> wait_queue_head_t waitq;
> };
> DECLARE_PER_CPU(struct cpuidle_cooling_cpu *, cpu_data);
>
> You continue to have cpuidle_cooling_device allocated dynamically per
> cluster and added in the list but task and waitq are stored per cpu
Ok. I will try that.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog