Re: Reducing debuginfo size by removing unneeded includes

From: Thomas Gleixner
Date: Sun Feb 17 2008 - 09:01:06 EST


On Thu, 7 Feb 2008, Arnaldo Carvalho de Melo wrote:
> Hi Ingo,
>
> I'm starting with you because the first file I used to
> experiment with this idea was arch/x86/ia32/sys_ia32.c.
>
> I found it strange that the struct sk_buff definition was found
> inside the DWARF debugging sections in the generated object, so I verified
> and found that there is no need for the files that bring struct sk_buff
> definition into this file and verified also that sk_buff is not brought
> in indirectly too, thru other headers.
>
> I went on and removed many other unneeded includes and the end
> result is:
>
> [acme@doppio net-2.6]$ l /tmp/sys_ia32.o.before /tmp/sys_ia32.o.after
> -rw-rw-r-- 1 acme acme 185240 2008-02-06 19:19 /tmp/sys_ia32.o.after
> -rw-rw-r-- 1 acme acme 248328 2008-02-06 19:00 /tmp/sys_ia32.o.before
>
> Almost 64KB only on this object file!
>
> There were no other side effects from this change:
>
> [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.before /tmp/text.before
> [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.after /tmp/text.after
> [acme@doppio net-2.6]$ md5sum /tmp/text.before /tmp/text.after
> b7ac9b17942add68494e698e4f965d36 /tmp/text.before
> b7ac9b17942add68494e698e4f965d36 /tmp/text.after
>
> One of the complaints about using tools such as systemtap is
> that one has to install the huge kernel-debuginfo package:
>
> [acme@doppio net-2.6]$ rpm -q --qf "%{size}\n" kernel-rt-debuginfo
> 471737710
> 543867594
> [acme@doppio net-2.6]$
>
> So I'll try to improve automation to find more of these cases.

That'd be grat.

> Here goes the first patch, regards.

Applied. Thanks,

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