Re: [PATCH 09/20] ACPI: thinkpad-acpi: uncouple subdriver init from ibms struct

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

 



On Sat, 21 Apr 2007, Len Brown wrote:
> On Saturday 21 April 2007 10:08, Henrique de Moraes Holschuh wrote:
> > From: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
> > 
> > Move the .init method from ibms struct to another struct, and use a list
> > head to control which subdrivers have been activated.
> > 
> > This allows us to have the subdriver init methods marked __init, saving
> > quite a lot of .text size, and even a bit of .data size as some data can
> > now be made __initdata.
> 
> does this save any space when the driver is compiled as a module?

Using gcc 4.1.2 20061115 pre-release (from Debian 4.1.1-21) and objdump -w
-h, I get the following changes:

bss: no change
text: decreases from 0x46d8 to 0x3658
data: decreases from 0x7b4 to 0x784
init.text: increases from 0x5ff to 0x171f
init.data: increases from 0 to 0x2b6

and now the usual issues with gcc and its .rodata handling even while inside
__init and __initdata:

rodata*: total increase of 0xbc bytes.

So yes, there are savings when used as a module, unless objdump is lying to
me or I failed to understand how these things play together when the kernel
links the module at runmtime.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux