Re: [PATCH 2/2] ptrace children revamp

From: Oleg Nesterov
Date: Sat Mar 29 2008 - 06:39:53 EST


I didn't read the patch yet (will do), just a minor nit right now,

On 03/28, Roland McGrath wrote:
>
> @@ -1528,19 +1534,11 @@ static int do_wait_thread(struct task_struct *tsk, int *retval,
> return 1;
> }
>
> - /*
> - * If we never saw an eligile child, check for children stolen by
> - * ptrace. We don't leave -ECHILD in *@retval if there are any,
> - * because we will eventually be allowed to wait for them again.
> - */
> - if (*retval)
> - list_for_each_entry(p, &tsk->ptrace_children, ptrace_list) {
> - int ret = eligible_child(type, pid, options, p);
> - if (ret) {
> - *retval = unlikely(ret < 0) ? ret : 0;
> - break;
> - }
> - }
> + list_for_each_entry(p, &tsk->ptrace_attach, ptrace_list) {
> + if (wait_consider_task(tsk, p, retval, type, pid, options,
> + infop, stat_addr, ru))
> + return 1;
> + }

Afaics, this adds a minor pessimization. We shouldn't scan ->ptrace_attach
list if it was already found that another thread has a "hidden" task.

Oleg.

--
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/