mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RFC PATCH] freezer: revert 27920651fe "PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too"
@ 2011-10-31 22:17 Tejun Heo
  2011-10-31 23:17 ` Tejun Heo
                   ` (2 more replies)
  0 siblings, 3 replies; 33+ messages in thread
From: Tejun Heo @ 2011-10-31 22:17 UTC (permalink / raw)
  To: Rafael J. Wysocki, Jeff Layton
  Cc: linux-kernel, Oleg Nesterov, linux-pm, linux-cifs, Steve French,
	J. Bruce Fields, Neil Brown

Commit 27920651fe "PM / Freezer: Make fake_signal_wake_up() wake
TASK_KILLABLE tasks too" made freezer wake up tasks in TASK_KILLABLE
sleep too citing non-interruptible but killable sleeps in cifs and
nfs.

I don't think we can do this.  We should not send spurious unsolicited
non-interruptible wakeups.  Most synchornization constructs are built
to cope with spurious wakeups and any INTERRUPTIBLE sleep must be able
to handle spurious wakeups but that's not true for KILLABLE sleeps -
KILLABLE condition cannot be cancelled.

This is probably okay for most cases but circumventing fundamental
wakeup condition like this is asking for trouble.  Furthermore, I'm
not sure the behavior change brought on by this change - breaking
nfs/cifs uninterruptible operation guarantee - is correct.  If such
behavior is desirable, the right thing to do is using intr mount
option, not circumventing it from PM layer.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jeff Layton <jlayton@redhat.com>
---
Neil, Steve, do the network filesystems need a way to indicate "I can
either be killed or enter freezer"?

Thanks.

 kernel/freezer.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/freezer.c b/kernel/freezer.c
index 66a594e..7b01de9 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -67,7 +67,7 @@ static void fake_signal_wake_up(struct task_struct *p)
 	unsigned long flags;
 
 	spin_lock_irqsave(&p->sighand->siglock, flags);
-	signal_wake_up(p, 1);
+	signal_wake_up(p, 0);
 	spin_unlock_irqrestore(&p->sighand->siglock, flags);
 }
 

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2011-11-03 15:30 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-31 22:17 [RFC PATCH] freezer: revert 27920651fe "PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too" Tejun Heo
2011-10-31 23:17 ` Tejun Heo
2011-10-31 23:24 ` Rafael J. Wysocki
2011-10-31 23:30   ` Tejun Heo
2011-11-01  0:55     ` Tejun Heo
2011-11-01  8:13       ` Jeff Layton
2011-11-01 10:59         ` Jeff Layton
2011-11-01 16:30           ` Tejun Heo
2011-11-01 16:49             ` Trond Myklebust
2011-11-01 16:55               ` Tejun Heo
2011-11-01 17:59             ` Oleg Nesterov
2011-11-01 18:06               ` Tejun Heo
2011-11-01 18:13                 ` Oleg Nesterov
2011-11-01 18:27                   ` Tejun Heo
2011-11-01 19:39                     ` Oleg Nesterov
2011-11-01 19:46                       ` Oleg Nesterov
2011-11-01 21:57                         ` Tejun Heo
2011-11-02 11:42                           ` Jeff Layton
2011-11-02 15:13                             ` Oleg Nesterov
2011-11-02 16:23                           ` Oleg Nesterov
2011-11-02 23:11                             ` Rafael J. Wysocki
2011-11-03 11:15                               ` Jeff Layton
2011-11-03 15:10                               ` Oleg Nesterov
2011-11-02 17:53                           ` [PATCH] wait_event_freezekillable: use freezer_do_not_count/freezer_count Oleg Nesterov
2011-11-03 10:42                             ` Jeff Layton
2011-11-03 14:13                               ` Tejun Heo
2011-11-03 15:27                                 ` Jeff Layton
2011-11-03 15:30                                   ` Tejun Heo
2011-11-01 18:26                 ` [RFC PATCH] freezer: revert 27920651fe "PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too" Jeff Layton
2011-10-31 23:45   ` Steve French
2011-10-31 23:53     ` Tejun Heo
2011-11-01  0:02       ` Steve French
2011-11-01 17:50 ` Oleg Nesterov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome