From: Pavel Emelyanov <xemul@parallels.com>
To: Vasily Kulikov <segoon@openwall.com>
Cc: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>,
Richard Weinberger <richard.weinberger@gmail.com>,
<containers@lists.linux-foundation.org>,
Serge Hallyn <serge.hallyn@ubuntu.com>,
<linux-kernel@vger.kernel.org>, "Oleg Nesterov" <oleg@redhat.com>,
David Howells <dhowells@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Andrew Morton <akpm@linux-foundation.org>,
Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH v2] /proc/pid/status: show all sets of pid according to ns
Date: Wed, 28 May 2014 23:27:05 +0400 [thread overview]
Message-ID: <53863889.9080509@parallels.com> (raw)
In-Reply-To: <20140528182824.GA5057@cachalot>
On 05/28/2014 10:28 PM, Vasily Kulikov wrote:
> On Wed, May 28, 2014 at 16:44 +0400, Pavel Emelyanov wrote:
>> On 05/28/2014 02:24 PM, Chen Hanxiao wrote:
>>> We need a direct method of getting the pid inside containers.
>>
>> But there's more generic issue -- some day we'll need to know not only
>> PIDs as seen from different namespaces, but also SIDs and PGIDs.
>
> Maybe include all per-ns ID in a separate file?
This looks reasonable, but wouldn't this file be too big for a loaded system?
> Then the old 'status'
> file includes IDs from the current namespace only, the new file (e.g.
> 'ids' or 'ns_ids') contains only hierarchical IDs which differ from
> namespace to namespace for all possible namespaces.
For all visible namespaces. I.e. -- if a task lives in a container and reads
its /proc/self/status it should _not_ see its host pid. Just like it is now
in the current patch. Otherwise it would bring blockers to live migration :(
> It will be simplier
> to parse the file -- if 'ns_ids' file contains some ID then this ID for
> every ns can be obtained regardless of the specific ID name (SID, PID,
> PGID, etc.).
True, but given a task PID how to determine which pid namespaces it lives in
to get the idea of how PIDs map to each other? Maybe we need some explicit
API for converting (ID, NS1, NS2) into (ID)?
Thanks,
Pavel
next prev parent reply other threads:[~2014-05-28 19:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-28 10:24 [PATCH v2] /proc/pid/status: show all sets of pid according to ns Chen Hanxiao
2014-05-28 12:44 ` Pavel Emelyanov
2014-05-28 18:28 ` Vasily Kulikov
2014-05-28 19:27 ` Pavel Emelyanov [this message]
2014-05-29 5:59 ` Vasily Kulikov
2014-05-29 9:07 ` Pavel Emelyanov
2014-05-29 9:21 ` Richard Weinberger
2014-05-29 9:41 ` Pavel Emelyanov
2014-05-29 9:54 ` Richard Weinberger
2014-05-29 10:02 ` Pavel Emelyanov
2014-05-29 10:19 ` Richard Weinberger
2014-05-29 10:36 ` Pavel Emelyanov
2014-05-29 9:53 ` chenhanxiao
2014-05-29 10:40 ` Pavel Emelyanov
2014-05-29 11:12 ` Vasily Kulikov
2014-05-29 11:31 ` Pavel Emelyanov
2014-05-29 11:59 ` Vasily Kulikov
2014-05-29 12:53 ` Pavel Emelyanov
2014-05-31 6:07 ` Vasily Kulikov
2014-05-31 20:08 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53863889.9080509@parallels.com \
--to=xemul@parallels.com \
--cc=akpm@linux-foundation.org \
--cc=chenhanxiao@cn.fujitsu.com \
--cc=containers@lists.linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=richard.weinberger@gmail.com \
--cc=segoon@openwall.com \
--cc=serge.hallyn@ubuntu.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox