Re: [PATCH 10/11] ptrace: move JOBCTL_TRAPPING wait to wait(2) andptrace_check_attach()

From: Tejun Heo
Date: Thu May 12 2011 - 12:07:23 EST


Hey,

On Thu, May 12, 2011 at 05:59:10PM +0200, Oleg Nesterov wrote:
> > I don't know. Why is retrying hairy? The whole waiting logic is
> > built for clean retries. The suggested change just does it without
> > intervening sleeping and waking up. I don't see anything particularly
> > hairy there.
>
> As always, this is subjective. But I didn't mean -EAGAIN itself. In fact
> I was going to add this (simple) logic some time ago and kill the EXIT_DEAD
> state. Hmm, and I'd still like to do this...

Oh, I've been updating code and it's now using interruptible sleep +
-ERESTARTNOINTR return. It's simpler and the freezer problem is gone
too.

> I meant the whole ptrace_wait_trapping() + lock dance + retry thing.
> But of course I do not pretend my feeling is right.

Yeah, it's more complex than I would have liked. The problem is that
ptrace(2) isn't really equipped with facilities to handle async
events, so it's a bit painful to add async mechanism into the existing
mechanics, but most problems seem solvable.

> Also. _Perhaps_ we can rethink the SIGCONT trapping, and perhaps in
> this case do_wait() won't need any changes. May be.

But, if there's a better way, sure.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/