public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "J.A. Magallon" <jamagallon@able.es>
To: "J.A. Magallon" <jamagallon@able.es>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
	Lista Linux-Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.4: always_inline for gcc3
Date: Tue, 26 Aug 2003 19:00:13 +0200	[thread overview]
Message-ID: <20030826170013.GA1974@werewolf.able.es> (raw)
In-Reply-To: <20030826162454.GE2023@werewolf.able.es>; from jamagallon@able.es on Tue, Aug 26, 2003 at 18:24:54 +0200


On 08.26, J.A. Magallon wrote:
> 
> On 08.26, Marcelo Tosatti wrote:
> > 
> > Can you please explain me what are the differences when using "__inline__
> > __attribute__((always_inline))" and why you chose to use that?
> > 
> 
> gcc3 did not inline big functions, even if they were marked as inline
> Thread:
> http://marc.theaimsgroup.com/?t=103632325600005&r=1&w=2
> Things like memcpy and copy_to/from_user were affected.
> They were not inlined and you got tons of instances in vmlinux.
> 
> An initial patch was proposed by Denis Vlasenko, and refined by
> akpm I think.
> 

A comparison
run 

cat System.map | cut -d' ' -f 3 | sort | uniq -c | sort -nr | head -n 10

for my custom kernel and for a mandrake's standard one (not the late...)

System.map:
     16 __constant_c_and_count_memset
      8 .text.lock.inode
      7 parse_options
      6 __constant_memcpy
      5 devfs_handle
      4 init_once
      3 p.0
      3 debug
      2 want_value
      2 want_numeric

System.map-2.4.21-6mdksmp:
    150 __constant_c_and_count_memset
     81 __constant_memcpy
     45 __constant_copy_to_user
     45 __constant_copy_from_user
     18 level_save.1
     18 layer_save.0
     14 driver
     13 buf.0
      9 config_chipset_for_dma
      6 config_chipset_for_pio


-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.2 (Cooker) for i586
Linux 2.4.22-jam1m (gcc 3.3.1 (Mandrake Linux 9.2 3.3.1-1mdk))

  reply	other threads:[~2003-08-26 17:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-26  8:24 [PATCH] 2.4: always_inline for gcc3 J.A. Magallon
2003-08-26 12:15 ` Marcelo Tosatti
2003-08-26 16:24   ` J.A. Magallon
2003-08-26 17:00     ` J.A. Magallon [this message]
2003-08-27 14:37     ` Alan Cox
2003-08-27 16:14       ` J.A. Magallon

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=20030826170013.GA1974@werewolf.able.es \
    --to=jamagallon@able.es \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    /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