Well I would prefer to iterate over 2 lists as opposed to N lists that
we have now.
The __ptrace_unlink issue sounds moderately valid although a ptraced
zombie is down right peculiar.
Actually this should be independent of the pdeath_signal issue.
As long as we record pdeath_signal per task_struct we can continue
to implement the existing semantics.
Although we really should fix pdeath_signal and push the patch to
-mm. We only didn't do that because the original patch was a
bug fix for stable kernels, and we didn't have time to verify fixing
pdeath_signal would not break anything else.
Well it doesn't fix everything yet but it does fix the common case.
I wonder if it would make sense to have other lists as well.
Regardless of how this fixes scaling someone needs to dig in there load
up all the messy state in their head and clean up, simplify,
and optimize this mess.
We still have the stupid case where we can create unkillable
zombies from user space with a threaded init.
I think it is safe to say that this part of the code has reach the point
of fragility where it is hard to maintain. A clear sign that it is time to
refactor something.
Eric
-