Hi,

1) If the user space process has existed, why the kernel still need to store
a reference to it?

2) From <understanding the linux kernel> 3rd edition, I found one pid
structure can be corresponded to multi pid_t, and if we want to look up one
task_struct by pid_t, we need to use a PID hash table. Honestly, I am
confused by this flow.


On Tue, Jul 20, 2010 at 12:58 PM, Neependra Khare <[email protected]
> wrote:

>
>
> On Tue, Jul 20, 2010 at 8:26 AM, Aiolia Lea <[email protected]> wrote:
>
>>
>> Then, what's the pid structure used for? and what's the relationship
>> between pid structure and pid_t?
>>
>
> From :-
>
> http://lwn.net/Articles/257054/
>
> If you need to store a persistent reference to a user space process use a
> struct pid *.  Not a task_struct reference.
>
> References can potentially last for a long time after user space processes
> have exited so holding a reference to a tiny struct pid is much cheaper
> memory wise.  In addition a struct pid is a drop in replacement for a
> pid_t (except for the need for reference counting).  A struct pid can
> reference process groups, thread groups, and sessions not just individual
> processes.  Further a struct pid is immune from pid wrap around, removing
> a whole class of theoretical problems from being issues in the kernel.
>
> Regards,
> Neependra
>
>
>
>>
>> Why the kernel required to involved pid this structure?
>>
>> Hope you could give me some explanation or some  links.
>>
>> Thank you very much~
>> --
>> Best Regards!
>> Aiolia Lea
>>
>
>


-- 
Best Regards!
Aiolia Lea

Reply via email to