Messages in this thread |  | | Date | Sun, 4 Sep 2011 20:46:26 +0200 | | From | Oleg Nesterov <> | | Subject | Re: [PATCH 6/6] freezer: kill unused set_freezable_with_signal() |
| |
On 09/03, Tejun Heo wrote: > > This patch removes set_freezable_with_signal() along with > PF_FREEZER_NOSIG
Great. I never understood PF_FREEZER_NOSIG logic ;)
One question,
> @@ -72,10 +72,6 @@ bool __refrigerator(bool check_kthr_stop) > schedule(); > } > > - spin_lock_irq(¤t->sighand->siglock); > - recalc_sigpending(); /* We sent fake signal, clean it up */ > - spin_unlock_irq(¤t->sighand->siglock); > -
Why? This recalc_sigpending() makes sense imho. Otherwise the user-space tasks (almost) always return with TIF_SIGPENDING. May be we can do this under "if (PF_KTRHREAD)".
For example. Suppose the user-space task does wait_event_freezable()...
Hmm. OTOH, wait_event_freezable() looks wrong anyway... So probably this doesn't matter. ptrace_stop/get_signal_to_deliver doesn't need this, probably we do not care about the other callers.
It seems, a lot of get_signal_to_deliver() calles also call try_to_freeze() for no reason.
So, yes, I am starting to think this change is fine too ;)
Oleg.
|  |