From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Hansen Subject: [RFC][PATCH 11/11] optimize c/r check in dup_fd() Date: Thu, 05 Mar 2009 08:39:13 -0800 Message-ID: <20090305163913.E59C59BB@kernel> References: <20090305163857.0C18F3FD@kernel> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20090305163857.0C18F3FD@kernel> 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: Ingo Molnar Cc: containers , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Dave Hansen , Christoph Hellwig , Alexey Dobriyan List-Id: containers.vger.kernel.org __scan_files_for_cr() should compile down to nothing if checkpoint/restart is disabled. But, I think the spinlocks in fcheck_files() keep the compiler from figuring this out. So, instead if putting in some #ifdefs, use our new cr_enabled() helper. I've verified that this puts .text size back to where it was without the __scan_files_for_cr() call. Signed-off-by: Dave Hansen --- linux-2.6.git-dave/fs/file.c | 3 +++ 1 file changed, 3 insertions(+) diff -puN fs/file.c~optimize-cr-checkk fs/file.c --- linux-2.6.git/fs/file.c~optimize-cr-checkk 2009-03-05 08:37:05.000000000 -0800 +++ linux-2.6.git-dave/fs/file.c 2009-03-05 08:37:05.000000000 -0800 @@ -290,6 +290,9 @@ static void __scan_files_for_cr(struct f { int i; + if (!cr_enabled()) + return; + for (i = 0; i < files->fdtab.max_fds; i++) { struct file *f = fcheck_files(files, i); if (!f) _