Re: [PATCH 3/3] thermal/intel_powerclamp: Convert to CPU hotplug state

From: Jacob Pan
Date: Thu Oct 27 2016 - 16:25:57 EST


On Thu, 27 Oct 2016 17:17:26 +0200
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote:

> On 2016-10-27 16:53:48 [+0200], Petr Mladek wrote:
> >
> > In each case, I wonder if the problem is caused by the conversion
> > to the kthread worker or by the CPU hotplug state conversion.
>
> drop the hotplug patch and you will see.
>
Petr,

I dropped hp patch no long see the hang during suspend to s3. However,
the problem seems to be this line,

diff --git a/drivers/thermal/intel_powerclamp.c
b/drivers/thermal/intel_powerclamp.c index 390e50b..b61da57 100644
--- a/drivers/thermal/intel_powerclamp.c
+++ b/drivers/thermal/intel_powerclamp.c
@@ -574,7 +574,7 @@ static void stop_power_clamp_worker(unsigned long
cpu) */
del_timer_sync(&w_data->wakeup_timer);
clear_bit(w_data->cpu, cpu_clamping_mask);
- kthread_destroy_worker(w_data->worker);
+// kthread_destroy_worker(w_data->worker);

w_data->worker = NULL;
}

If I do the above, everything works with S3 and CPU HP patch.

Inside kthread_destroy_worker()
kthread_flush_worker(worker);
never completes then blocks s3 entry!

I will be at LPC next week also, we can chat about that.


Thanks,

Jacob


> > Best Regards,
> > Petr
>
> Sebastian

[Jacob Pan]