Re: [patch 00/2] improve .text size on gcc 4.0 and newer compilers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Some data from an x86-64 allyesconfig build.

Below is a *rough* estimate of savings that could be achieved by
uninlining specific functions. The estimate is rough in the sense that it assumes
that no "trick" allows the uninlined version to be significantly smaller
than the inlined version, which for certain functions is not a valid
assumption (kmalloc comes to mind as an obvious one).

The saving is estimated at (count-1) * (size-6), eg the estimate for a
function call is 6 bytes as well and the estimate for the size something 
takes as inlined is the same as the uninline size. 


These are the top items only; a more complete list can be gotten 
from http://www.fenrus.org/savings

Est saving       function name                   count   uninline size
----------------------------------------------------------------------
95940            down                            [2461]  <45>
84392            skb_put                         [1097]  <83>
50932            kfree_skb                       [1499]  <40>
44880            init_waitqueue_head             [881]   <57>
34840            lowmem_page_address             [537]   <71>
25573            cfi_build_cmd                   [108]   <245>
19825            skb_push                        [326]   <67>
17992            aic_outb                        [347]   <58>
17434            module_put                      [380]   <52>
16318            ahd_outb                        [399]   <47>
16035            kmalloc                         [3208]  <11>
14040            netif_wake_queue                [361]   <45>
13266            dev_kfree_skb_irq               [202]   <72>
12078            signal_pending                  [672]   <24>
11979            ahc_outb                        [364]   <39>
11603            down_interruptible              [284]   <47>
11552            ahd_inb                         [305]   <44>
11310            dst_release                     [175]   <71>
11275            netif_stop_queue                [452]   <31>
11165            down_write                      [320]   <41>
11107            ahc_inb                         [384]   <35>
10807            usb_fill_bulk_urb               [102]   <113>
10508            ahd_set_modes                   [72]    <154>
10266            skb_queue_head_init             [178]   <64>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux