Re: [PATCH] 2.4: always_inline for gcc3

From: J.A. Magallon
Date: Tue Aug 26 2003 - 12:01:10 EST



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@xxxxxxx> \ 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))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/