On Fri, 2012-02-03 at 19:40 +0100, Oleg Nesterov wrote:
Stupid question. Do we really need to send the signal from here?
If we can do it correctly elsewhere, I'm fine with that too :-)
Why force_sig(rt => T) can't set TIF_NOTIFY_RESUME instead? Then
we can change do_notify_resume() to check TIF_FORCE_SIG_TRAP. And
perhaps we can even avoid the new TIF_FORCE_SIG_TRAP, we could
check task->stored_info_set.
You know the signal code much better than I do. If that works, I'm all
for that too. I really don't like the entry_64 solution, but it was what
I knew would work.
In fact I feel this can be simplified even more, but I am not sure.
My strengths are in the entry_64.S code, not the signal code, so I fixed
it the best way that I felt. This does not imply my fix is the best. If
we can solve this in a clean way using the existing signal
infrastructure, I'm all for that.
-- Steve