* [PATCH] windfarm: fix windfarm thread freezer interaction
@ 2007-10-23 12:33 Johannes Berg
2007-10-23 20:17 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Johannes Berg @ 2007-10-23 12:33 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Rafael J. Wysocki, linuxppc-dev list
When I fixed the windfarm freezer interaction first in commit
1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one
I came up with after comments was committed. This has come back to haunt
us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed
the freezer to no long send signals. Fix it by removing the windfarm
thread's signal logic and restoring the original try_to_freeze().
We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now
but I feel that the assertion that no signal is delivered to the
windfarm thread needs not be there.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
drivers/macintosh/windfarm_core.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
--- linux-2.6-git.orig/drivers/macintosh/windfarm_core.c 2007-10-23 14:23:02.406437623 +0200
+++ linux-2.6-git/drivers/macintosh/windfarm_core.c 2007-10-23 14:25:28.745447695 +0200
@@ -94,7 +94,9 @@ static int wf_thread_func(void *data)
DBG("wf: thread started\n");
set_freezable();
- while(!kthread_should_stop()) {
+ while (!kthread_should_stop()) {
+ try_to_freeze();
+
if (time_after_eq(jiffies, next)) {
wf_notify(WF_EVENT_TICK, NULL);
if (wf_overtemp) {
@@ -116,12 +118,6 @@ static int wf_thread_func(void *data)
delay = next - jiffies;
if (delay <= HZ)
schedule_timeout_interruptible(delay);
-
- /* there should be no non-suspend signal, but oh well */
- if (signal_pending(current) && !try_to_freeze()) {
- printk(KERN_WARNING "windfarm: thread got sigl !\n");
- break;
- }
}
DBG("wf: thread stopped\n");
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] windfarm: fix windfarm thread freezer interaction
2007-10-23 12:33 [PATCH] windfarm: fix windfarm thread freezer interaction Johannes Berg
@ 2007-10-23 20:17 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2007-10-23 20:17 UTC (permalink / raw)
To: Johannes Berg; +Cc: Paul Mackerras, linuxppc-dev list
On Tuesday, 23 October 2007 14:33, Johannes Berg wrote:
> When I fixed the windfarm freezer interaction first in commit
> 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one
> I came up with after comments was committed. This has come back to haunt
> us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed
> the freezer to no long send signals. Fix it by removing the windfarm
> thread's signal logic and restoring the original try_to_freeze().
>
> We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now
> but I feel that the assertion that no signal is delivered to the
> windfarm thread needs not be there.
>
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
> ---
> drivers/macintosh/windfarm_core.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> --- linux-2.6-git.orig/drivers/macintosh/windfarm_core.c 2007-10-23 14:23:02.406437623 +0200
> +++ linux-2.6-git/drivers/macintosh/windfarm_core.c 2007-10-23 14:25:28.745447695 +0200
> @@ -94,7 +94,9 @@ static int wf_thread_func(void *data)
> DBG("wf: thread started\n");
>
> set_freezable();
> - while(!kthread_should_stop()) {
> + while (!kthread_should_stop()) {
> + try_to_freeze();
> +
> if (time_after_eq(jiffies, next)) {
> wf_notify(WF_EVENT_TICK, NULL);
> if (wf_overtemp) {
> @@ -116,12 +118,6 @@ static int wf_thread_func(void *data)
> delay = next - jiffies;
> if (delay <= HZ)
> schedule_timeout_interruptible(delay);
> -
> - /* there should be no non-suspend signal, but oh well */
> - if (signal_pending(current) && !try_to_freeze()) {
> - printk(KERN_WARNING "windfarm: thread got sigl !\n");
> - break;
> - }
> }
>
> DBG("wf: thread stopped\n");
>
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-10-23 20:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-23 12:33 [PATCH] windfarm: fix windfarm thread freezer interaction Johannes Berg
2007-10-23 20:17 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).