From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavel Emelyanov Subject: Re: [PATCH v2] /proc/pid/status: show all sets of pid according to ns Date: Thu, 29 May 2014 16:53:01 +0400 Message-ID: <53872DAD.1070502@parallels.com> References: <1401272683-1659-1-git-send-email-chenhanxiao@cn.fujitsu.com> <5385DA19.2060008@parallels.com> <20140528182824.GA5057@cachalot> <53863889.9080509@parallels.com> <20140529055954.GA10354@cachalot> <5386F8EA.8050501@parallels.com> <20140529111236.GA14576@cachalot> <53871A92.9000004@parallels.com> <20140529115946.GA19889@cachalot> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20140529115946.GA19889@cachalot> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Vasily Kulikov Cc: Richard Weinberger , containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Serge Hallyn , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Oleg Nesterov , David Howells , "Eric W. Biederman" , Andrew Morton , Al Viro List-Id: containers.vger.kernel.org T24gMDUvMjkvMjAxNCAwMzo1OSBQTSwgVmFzaWx5IEt1bGlrb3Ygd3JvdGU6Cj4gT24gVGh1LCBN YXkgMjksIDIwMTQgYXQgMTU6MzEgKzA0MDAsIFBhdmVsIEVtZWx5YW5vdiB3cm90ZToKPj4gT24g MDUvMjkvMjAxNCAwMzoxMiBQTSwgVmFzaWx5IEt1bGlrb3Ygd3JvdGU6Cj4+PiBPbiBUaHUsIE1h eSAyOSwgMjAxNCBhdCAxMzowNyArMDQwMCwgUGF2ZWwgRW1lbHlhbm92IHdyb3RlOgo+Pj4+IE9u IDA1LzI5LzIwMTQgMDk6NTkgQU0sIFZhc2lseSBLdWxpa292IHdyb3RlOgo+Pj4+PiBPbiBXZWQs IE1heSAyOCwgMjAxNCBhdCAyMzoyNyArMDQwMCwgUGF2ZWwgRW1lbHlhbm92IHdyb3RlOgo+Pj4+ PiBdIFdlIG5lZWQgYSBkaXJlY3QgbWV0aG9kIG9mIGdldHRpbmcgdGhlIHBpZCBpbnNpZGUgY29u dGFpbmVycy4KPj4+Pj4gXSBJZiBzb21lIGlzc3VlcyBvY2N1cnJlZCBpbnNpZGUgY29udGFpbmVy IGd1ZXN0LCBob3N0IHVzZXIKPj4+Pj4gXSBjb3VsZCBub3Qga25vdyB3aGljaCBwcm9jZXNzIGlz IGluIHRyb3VibGUganVzdCBieSBndWVzdCBwaWQ6Cj4+Pj4+IF0gdGhlIHVzZXJzIG9mIGNvbnRh aW5lciBndWVzdCBvbmx5IGtuZXcgdGhlIHBpZCBpbnNpZGUgY29udGFpbmVycy4KPj4+Pj4gXSBU aGlzIHdpbGwgYnJpbmcgb2JzdGFjbGUgZm9yIHRyb3VibGUgc2hvb3RpbmcuCj4+Pj4+Cj4+Pj4+ IEEgbmV3IHN5c2NhbGwgbWlnaHQgY29tcGxpY2F0ZSB0cm91YmxlIHNob290aW5nIGJ5IGFkbWlu Lgo+Pj4+Cj4+Pj4gUHVyZSBzeXNjYWxsIC0tIHllcy4gV2hhdCBpZiB3ZSB0ZWFjaCB0aGUgcHMg YW5kIHRvcCB1dGlsaXRpZXMgdG8gc2hvdyBhZGRpdGlvbmFsCj4+Pj4gaW5mbz8gSSB0aGluayB0 aGF0IHdvdWxkIGhlbHAuCj4+Pgo+Pj4gSSBsaWtlIHRoZSBpZGVhIHdpdGggbG93IGxldmVsIG5v bi1zaGVsbCBBUEkgd2hpY2ggY2FuIGJlIHVzZWQgYnkKPj4+IHV0aWxpdHkgbGlrZSBwcyAob3Ig aW1wbGVtZW50YXRpb24gb2YgYSBuZXcgdG9vbCB0byB3b3JrIHdpdGggY29tcGxleAo+Pj4gbmFt ZXNwYWNlIGhpZXJhcmNoaWVzKS4gIEl0IHNob3VsZCBmaXQgZm9yIHRyb3VibGVzb290aW5nLiAg VGhlbiB0aGVyZQo+Pj4gc2hvdWxkIGJlIG5vIHJlYXNvbiB0byBpbXBsZW1lbnQgdHdvIGRpZmZl cmVudCBBUElzIGZvciBvYnNlcnZhdGlvbiBmcm9tCj4+PiBzaGVsbCB2aWEgRlMgYW5kIGZyb20g YXBwbGljYXRpb25zLgo+Pgo+PiBNYXliZSB3ZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIGtjbXAo KSBzeXN0ZW0gY2FsbD8gV2Ugd291bGQgaGF2ZSB0byBzdG9yZQo+PiB0aGUgY29sbGVjdGVkIHBp ZCB2YWx1ZXMgaW4gc29tZSBoYXNoL3RyZWUgYW55d2F5LCBhbmQga2NtcCgpIHByb3ZpZGVzIHVz Cj4+IGdvb2QgY29tcGFyaW5nIGZ1bmN0aW9uIGZvciBkb2luZyB0aGlzLgo+Pgo+PiBMaWtlIHdl IGNhbiBjYWxsIGtjbXAocGlkMSwgcGlkMiwgS0NNUF9QSUQsIG5zZmQxLCBuc2ZkMikgd2hpY2gg d2lsbCBtZWFuCj4+ICJBcmUgdGFza3Mgd2l0aCBwaWQxIGluIG5hbWVzcGFjZSBwb2ludGVkIGJ5 IG5zZmQxIGFuZCB3aXRoIHBpZDIgaW4gbmFtZXNwYWNlCj4+IG5zZmQyIHRoZSBzYW1lPyIKPj4K Pj4gV2hhdCBkbyB5b3UgdGhpbms/Cj4gCj4ga2NtcCgpIGlzIG5vdCBuZWVkZWQsIGp1c3QgY29t cGFyZSBpbm9kZSBudW1iZXJzOgo+IAo+ICAgICAjIGxzIC1pbCAvcHJvYy97NDMsc2VsZn0vbnMv bW50Cj4gICAgIDIwODE4MiBscnd4cnd4cnd4IDEgcm9vdCByb290IDAg0LzQsNGPICAgMjkgMTU6 NTIgL3Byb2MvNDMvbnMvbW50IC0+IG1udDpbNDAyNjUzMTg1Nl0KPiAgICAgMjE2NTU2IGxyd3hy d3hyd3ggMSByb290IHJvb3QgMCDQvNCw0Y8gICAyOSAxNTo1NyAvcHJvYy9zZWxmL25zL21udCAt PiBtbnQ6WzQwMjY1MzE4NDBdCgpCdXQgdGhhdCdzIGZvciBjb21wYXJpbmcgdGhlIG5hbWVzcGFj ZXMsIHdoaWxlIEknbSBwcm9wb3NpbmcgdGhlIGtjbXAgdG8KY2hlY2sgZm9yIFBJRHMuCgpUaGFu a3MsClBhdmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkNvbnRhaW5lcnMgbWFpbGluZyBsaXN0CkNvbnRhaW5lcnNAbGlzdHMubGludXgtZm91bmRhdGlv bi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8v Y29udGFpbmVycw== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757406AbaE2Mxk (ORCPT ); Thu, 29 May 2014 08:53:40 -0400 Received: from relay.parallels.com ([195.214.232.42]:57853 "EHLO relay.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757048AbaE2Mxj (ORCPT ); Thu, 29 May 2014 08:53:39 -0400 Message-ID: <53872DAD.1070502@parallels.com> Date: Thu, 29 May 2014 16:53:01 +0400 From: Pavel Emelyanov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 MIME-Version: 1.0 To: Vasily Kulikov CC: Richard Weinberger , , Serge Hallyn , , Oleg Nesterov , David Howells , "Eric W. Biederman" , Andrew Morton , Al Viro Subject: Re: [PATCH v2] /proc/pid/status: show all sets of pid according to ns References: <1401272683-1659-1-git-send-email-chenhanxiao@cn.fujitsu.com> <5385DA19.2060008@parallels.com> <20140528182824.GA5057@cachalot> <53863889.9080509@parallels.com> <20140529055954.GA10354@cachalot> <5386F8EA.8050501@parallels.com> <20140529111236.GA14576@cachalot> <53871A92.9000004@parallels.com> <20140529115946.GA19889@cachalot> In-Reply-To: <20140529115946.GA19889@cachalot> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.24.36.87] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/29/2014 03:59 PM, Vasily Kulikov wrote: > On Thu, May 29, 2014 at 15:31 +0400, Pavel Emelyanov wrote: >> On 05/29/2014 03:12 PM, Vasily Kulikov wrote: >>> On Thu, May 29, 2014 at 13:07 +0400, Pavel Emelyanov wrote: >>>> On 05/29/2014 09:59 AM, Vasily Kulikov wrote: >>>>> On Wed, May 28, 2014 at 23:27 +0400, Pavel Emelyanov wrote: >>>>> ] We need a direct method of getting the pid inside containers. >>>>> ] If some issues occurred inside container guest, host user >>>>> ] could not know which process is in trouble just by guest pid: >>>>> ] the users of container guest only knew the pid inside containers. >>>>> ] This will bring obstacle for trouble shooting. >>>>> >>>>> A new syscall might complicate trouble shooting by admin. >>>> >>>> Pure syscall -- yes. What if we teach the ps and top utilities to show additional >>>> info? I think that would help. >>> >>> I like the idea with low level non-shell API which can be used by >>> utility like ps (or implementation of a new tool to work with complex >>> namespace hierarchies). It should fit for troublesooting. Then there >>> should be no reason to implement two different APIs for observation from >>> shell via FS and from applications. >> >> Maybe we can reuse the existing kcmp() system call? We would have to store >> the collected pid values in some hash/tree anyway, and kcmp() provides us >> good comparing function for doing this. >> >> Like we can call kcmp(pid1, pid2, KCMP_PID, nsfd1, nsfd2) which will mean >> "Are tasks with pid1 in namespace pointed by nsfd1 and with pid2 in namespace >> nsfd2 the same?" >> >> What do you think? > > kcmp() is not needed, just compare inode numbers: > > # ls -il /proc/{43,self}/ns/mnt > 208182 lrwxrwxrwx 1 root root 0 мая 29 15:52 /proc/43/ns/mnt -> mnt:[4026531856] > 216556 lrwxrwxrwx 1 root root 0 мая 29 15:57 /proc/self/ns/mnt -> mnt:[4026531840] But that's for comparing the namespaces, while I'm proposing the kcmp to check for PIDs. Thanks, Pavel