From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757382AbXGXS3s (ORCPT ); Tue, 24 Jul 2007 14:29:48 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752689AbXGXS3e (ORCPT ); Tue, 24 Jul 2007 14:29:34 -0400 Received: from smtp2.linux-foundation.org ([207.189.120.14]:52042 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751055AbXGXS3c (ORCPT ); Tue, 24 Jul 2007 14:29:32 -0400 Date: Tue, 24 Jul 2007 11:28:43 -0700 From: Andrew Morton To: Linus Torvalds Cc: Adrian Bunk , Alexey Dobriyan , linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: 2.6.23-rc1: BUG_ON in kmap_atomic_prot() Message-Id: <20070724112843.0cc104c2.akpm@linux-foundation.org> In-Reply-To: References: <20070723183839.GA5874@martell.zuzino.mipt.ru> <20070723190152.GA5755@martell.zuzino.mipt.ru> <20070723132431.42afbae8.akpm@linux-foundation.org> <20070723204045.GD5755@martell.zuzino.mipt.ru> <20070723210153.GA5753@martell.zuzino.mipt.ru> <20070723141137.171e4ac1.akpm@linux-foundation.org> <20070724175951.GC6019@stusta.de> X-Mailer: Sylpheed version 2.2.7 (GTK+ 2.8.6; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 24 Jul 2007 11:14:21 -0700 (PDT) Linus Torvalds wrote: > > > On Tue, 24 Jul 2007, Adrian Bunk wrote: > > > > buffered_rmqueue() and prep_new_page() are static functions with only > > one caller each, and for the normal non-debug case it's a really nice > > optimization to have them inlined automatically. > > I'm not at all sure I agree. > > Inlining big functions doesn't actually tend to generally generate any > better code, so if gcc's logic is "single callsite - always inline", then > that logic is likely not right. > fwiw, -fno-inline-functions-called-once (who knew?) takes i386 allnoconfig vmlinux .text from 928360 up to 955362 bytes (27k larger). A surprisingly large increase - I wonder if it did something dumb. It appears to still correctly inline those things which we've manually marked inline. hm. It would be nice to defeat the autoinlining for debug purposes though.