Re: [PATCH] Compress kernel modules on installation

Jan Engelhardt
2008-12-26T23:23:36Z

On Friday 2008-12-26 23:28, david@lang.hm wrote:
>>>> ( see
>>>> http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/080/8051/8051f1.png
>>>> )
>>>
>>> this varies a lot on the particulars of the data being compressed.
>>
>> see my other reply.
>
> IIRC the default is 5

default is 6 (man gzip).

> instead of doing the compression when doing the modules_install do it when they
> are compiled (just like we do for the kernel itself). if you just spent the cpu
> to build the thing, the cpu to compress it isn't much.

I'd rather do the compression later on - or do you want
to spend gzipping all day when doing `make foo.ko`
as a developer? ;-)

>> $ find . -iname "*.gz" | xargs du -cs -B 4096 | grep total
>> 7086 total
>> $ echo $[7086*4096]
>> 29024256
>> $ echo $[29024256-24782942]
>> 4241314
>>
>> So that's like 4M going off for the block stuff. Given that
>> the compression actually saved about 50 MB, I think we
>> can live with the 4M - especially since they have been
>> there already one way or another.
>
> if I'm reading the numbers correctly that's about 16% of the space taken by the
> final result

Assuming that the x in (filesize % 4096 == x) is randomly distributed
over 0..4095 for gzip modules, I proclaim that it is similarly
randomly distributed for noncompressed modules. As such, the overhead
is always there and gzipping does not make it worse or better.
So you always have the overhead.

uncompressed:
$ du as above
113360896
$ byte counted:
109270606

differnece: 4.09 MB

You always pay that price for having single files.
So I dismiss it from the discussion ;-)