Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756212AbZCBQ3f (ORCPT ); Mon, 2 Mar 2009 11:29:35 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753777AbZCBQ30 (ORCPT ); Mon, 2 Mar 2009 11:29:26 -0500 Received: from e38.co.us.ibm.com ([32.97.110.159]:42273 "EHLO e38.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753482AbZCBQ3Z (ORCPT ); Mon, 2 Mar 2009 11:29:25 -0500 Date: Mon, 2 Mar 2009 10:28:57 -0600 From: "Serge E. Hallyn" To: Nathan Lynch Cc: Dave Hansen , containers , "linux-kernel@vger.kernel.org" , hch@infradead.org, Ingo Molnar , Alexey Dobriyan Subject: Re: [RFC][PATCH 8/8] check files for checkpointability Message-ID: <20090302162857.GA10974@us.ibm.com> References: <20090227203425.F3B51176@kernel> <20090227203435.98735E54@kernel> <20090302133754.GA8033@us.ibm.com> <20090302095917.6cfeda55@thinkcentre.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090302095917.6cfeda55@thinkcentre.lan> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2081 Lines: 49 Quoting Nathan Lynch (ntl@pobox.com): > On Mon, 2 Mar 2009 07:37:54 -0600 > "Serge E. Hallyn" wrote: > > > Quoting Dave Hansen (dave@linux.vnet.ibm.com): > > > > > > Introduce a files_struct counter to indicate whether a particular > > > file_struct has ever contained a file which can not be > > > checkpointed. This flag is a one-way trip; once it is set, it may > > > not be unset. > > > > > > We assume at allocation that a new files_struct is clean and may > > > be checkpointed. However, as soon as it has had its files filled > > > from its parent's, we check it for real in __scan_files_for_cr(). > > > At that point, we mark it if it contained any uncheckpointable > > > files. > > > > > > We also check each 'struct file' when it is installed in a fd > > > slot. This way, if anyone open()s or managed to dup() an > > > unsuppored file, we can catch it. > > > > > > Signed-off-by: Dave Hansen > > > > So on a practical note, Ingo's scheme appears to be paying off. In > > order for any program's files_struct to be checkpointable right now, > > it must be statically compiled, else ld.so (I assume) looks up > > /proc/$$/status. So since proc is not checkpointable, the result > > is irreversibly non-checkpointable. > > > > So... does it make sense to mark proc as checkpointable? Do we > > reasonably assume that the same procfile will be available at > > restart? > > With respect to /proc/$x/* where $x is the pid the restarted task wants, > is that not a chicken-and-egg problem? I don't think so... the task will get the pid back (eventually :). So sure it won't really be supported yet but we can ignore that for now imo. The question is, do we worry about the fact that the procfile contents might be different at restart (different kernel, etc). -serge -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/