Sergei,

>   Sigh, now this has become too bulky for an inline function...

I added the following to measure increase in bulk:
> void test_fn(void) {
>         extern void marker(void);
>         marker();
>         gpio_set_value(0, 0);
>         marker();
> }

Disassembly (before):
> 000003d8 <test_fn>:
[...]
>  3e4: ebfffffe        bl      0 <marker>
[...]
>  428: ebfffffe        bl      0 <marker>

Disassembly (after):
> 000003d8 <test_fn>:
[...]
>  3e4: ebfffffe        bl      0 <marker>
[...]
>  480: ebfffffe        bl      0 <marker>

Per call site, this change increases code by 88 bytes (from 68 to 156).

For an overall perspective, when built with davinci_all_defconfig and
da8xx_omapl_defconfig, compressed image sizes are:

> (before)
> [...] 1525080 May  8 13:55 davinci-test-before.uimg
> [...] 1370725 May  8 13:55 modules-davinci-test-before.tgz
> [...] 1560728 May  8 13:55 da8xx-test-before.uimg
> [...]  770842 May  8 14:55 modules-da8xx-test-before.tgz

> (after)
> [...] 1525080 May  8 13:56 davinci-test-after.uimg
> [...] 1370782 May  8 13:56 modules-davinci-test-after.tgz
> [...] 1560876 May  8 13:57 da8xx-test-after.uimg
> [...]  770866 May  8 13:57 modules-da8xx-test-after.tgz
> 


Total Growth (compressed):
        davinci uimage    0 bytes
        davinci modules  57 bytes
        da8xx   uimage  148 bytes
        da8xx   modules  24 bytes

In this light, could you please comment on acceptable limits for inline
growth?

Regards
Cyril.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to