lkml.org 
[lkml]   [2009]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 4/4] forget_original_parent: cleanup ptrace pathes
Date
> - Fold ptrace_exit() into forget_original_parent(), it is trivial
> now. More importantly, this makes the code more symmetrical with
> reparent_thread().

Please don't do this. The ptrace functions are separated not because they
are large, but because they are the ptrace innards. We have been moving
away from the core task handling innards having intimate ptrace magic
knowledge directly intertwined, and we don't want to move back the other
way. In later cleanups, we will eventually separate ptrace linkage from
the tasklist_lock'd parent/child linkage more thoroughly.

> - The same for ptrace_exit_finish(), and "ptrace_" is not correct
> any longer.
>
> - "ptrace_dead" doesn't match the reality, rename to "dead_list".

For the same reasons, I am not entirely sanguine about overloading
ptrace_entry for any case not related to ptrace. We want to be able to
clean up the ptrace data structures in the future such that there may well
not be any such list_head allocated in an untraced task_struct.

This case is sufficiently obscure, I can't see that anyone would really
care about the marginal performance hit for just dropping the lock after
reparent_thread returns true, call release_task(), re-lock and restart the
loop on remaining children. (And I don't see any atomicity problem with
this unlock/relock.)

> - swap the reparent_thread()'s arguments, just to make it more
> symmetrical with __ptrace_detach().

No problem there.


Thanks,
Roland


\
 
 \ /
  Last update: 2009-02-05 03:43    [W:0.115 / U:0.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site