Re: [uClinux-dev] Kernel 2.6 size increase - get_current()?

From: Ihar \ (filia@softhome.net)
Date: Thu Jul 24 2003 - 03:13:37 EST


Bernardo Innocenti wrote:
> On Wednesday 23 July 2003 22:27, Christoph Hellwig wrote:
>
>>On Wed, Jul 23, 2003 at 01:22:56PM -0700, David S. Miller wrote:
>>>Drivers weren't audited much, and there's a lot of boneheaded
>>>stuff in this area. But these should be mostly identical
>>>to what would happen on the 2.4.x side
>>
>>Please read the original message again - he stated that every single
>>module in fs/ got alot bigger - if it gets smaller or at least the
>>same size as 2.4 it's clearly a sign of inlines gone mad in the
>>filesystem/VM code and we need to look at that. If not we have to look
>>elsewhere.
>
> I have my humbling opinion:
>
> In 2.4.20 (m68knommu):
> -------------------------------------------------------------------------
> #define current _current_task
> -------------------------------------------------------------------------
>
> In 2.6.0-test1 (m68knommu):
> -------------------------------------------------------------------------
> static inline struct task_struct *get_current(void)
> {
    [cut]
> }
> static inline struct thread_info *current_thread_info(void)
> {
    [cut]
> }
> -------------------------------------------------------------------------
>
> This takes 18*11 = 198 bytes just for invoking the 'current'
> macro so many times.
>

    Just curious.

    Is there any way to guess inline from inline?

    I mean 'inline' which means 'this has to be inlined or it will
break' and 'inline' which means 'inline this please - it adds only 10k
of code bloat and improve performance in my suppa-puppa-bench by 0.000001%!'

    Strictly speaking - separate 'inline' to 'require_inline' and
'better_inline'.
    So people who really care about image size - can turn
'better_inline' into void, without harm to functionality.
    Actually I saw real performance improvements on my Pentium MMX 133
(it has $i16k+$d16k of caches I beleive) when I was cutting some of
inlines out. and I'm not talking about (cache poor) embedded systems...

-
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/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:22 EST