On Wed, Mar 6, 2013 at 10:53 AM, Tejun Heo <tj@xxxxxxxxxx> wrote: > Hello, Oleg. > > On Wed, Mar 06, 2013 at 07:16:08PM +0100, Oleg Nesterov wrote: >> And how SIGFREEZE can help? If we want to interrupt the sleeps in NFS/RPC >> layer we can simply add TASK_WAKEFREEZE (can be used with TASK_KILLABLE) >> and change freeze_task() to do signal_wake_up_state(TASK_WAKEFREEZE). > > Oh yeah, we don't need another signal. We just need sigpending state > and a wakeup. I wasn't really going into details. The important > point is that for code paths outside signal/ptrace, freezing could > look and behave about the same as signal delivery. Don't we already do that? The whole "try_to_freeze()" in get_signal_to_deliver() is about exactly this. See fake_signal_wake_up(). You still have kernel threads (that don't do signals) to worry about, so it doesn't make things go away. And you still have issues with latency of disk wait, which is, I think, the reason for that "freezable_schedule()" in the NFS code to begin with. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html