[Devel] Re: [PATCH 16/28] [FLAT 1/6] Changes in data structures for flat model
Pavel Emelianov
xemul at openvz.org
Wed Jun 20 03:53:14 PDT 2007
Eric W. Biederman wrote:
> Pavel Emelianov <xemul at openvz.org> writes:
>
[snip]
>>> | --- ./include/linux/sched.h.flatdatast 2007-06-15 15:14:33.000000000 +0400
>>> | +++ ./include/linux/sched.h 2007-06-15 15:19:14.000000000 +0400
>>> | @@ -482,7 +482,10 @@ struct signal_struct {
>>> | pid_t session __deprecated;
>>> | pid_t __session;
>>> | };
>>> | -
>>> | +#ifdef CONFIG_PID_NS_FLAT
>>> | + pid_t vpgrp;
>>> | + pid_t vsession;
>>> | +#endif
>>> | /* boolean value for session group leader */
>>> | int leader;
>>> |
>>> | @@ -944,6 +947,11 @@ struct task_struct {
>>> | unsigned did_exec:1;
>>> | pid_t pid;
>>> | pid_t tgid;
>>> | +#ifdef CONFIG_PID_NS_FLAT
>>> | + /* hash the virtual ids as well */
>>> | + pid_t vpid;
>>> | + pid_t vtgid;
>>> | +#endif
>
> Adding vpgrp, vsession, vpid, and vtgid is wrong.
>
> A case can probably be made for caching the common case (users view),
> but we already have fields for that.
>
> For a global view we must use struct pid *, otherwise we are just asking
> for trouble.
Nope. If we have global unique numerical pid we're not asking for
trouble. We're just making kernel work like it always did. Virtual
pid makes sense *only* when interacting with user level.
Making task->pid virtual is asking for trouble.
> Eric
Pavel
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list