LINUX.ORG.RU

Ядро без сжатия


0

2

С удивлением обнаружил, что в выборе метода сжатия ядра версии 3.0 нет опции «none». Зачем её убрали? Кто-то ещё считает мегабайты дискового пространства или оперативки? Скорость загрузки, на мой взгляд, более актуальна.


>оперативки
Не влияет.

Скорость загрузки, на мой взгляд, более актуальна.

И она должна быть больше со сжатием. Даже атомы не могут быть настолько говном.

x3al ★★★★★
()
Ответ на: комментарий от Un

Here are some original timings done on an Intel Pentium 133. Multiply by a constant factor for modern machines.

LZO1X decompression in C: ~16 MB/sec

Сколько же твоё ядро весит?

x3al ★★★★★
()
Ответ на: комментарий от Un

>С lzo ядро загружалось за ~2.67 секунд, с gzip - за 1.77
Вывод: без сжатия оно будет грузиться за >2.67 секунд. Потому, что gzip-распаковка — дольше, чем lzo. Выигрыш только за счёт меньшего размера файла.

x3al ★★★★★
()

> Скорость загрузки, на мой взгляд, более актуальна.
Ты упоротый? эти 0.12с не заметить.

PS bzImage(kernel + initramfs) 2.6MiB и 1.9с

tn1
()
Ответ на: комментарий от x3al

>Вывод: без сжатия оно будет грузиться за >2.67 секунд

Вывод: x3al тупит. Без сжатия оно с харда дольше грузиться будет.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

А теперь прочитай то, что я написал.

x3al ★★★★★
()

>Скорость загрузки, на мой взгляд, более актуальна.

Вот поэтому ядро сжатое gz/xz грузится значительно быстрее

Led ★★★☆☆
()
Ответ на: комментарий от Un

Зачем? Ты спросил - я ответил. Доказывать тебе что-либо - такую задачу я перед собой не ставил - не вижу смысла и профита.

Led ★★★☆☆
()

>в выборе метода сжатия ядра версии 3.0 нет опции «none».

Она и 2.6 выпилена. Как раньше было — не помню, сжимал всегда gzip'ом, а сейчас захотел несжатое — в 37-ом ядре нету. Голый vmlinux не грузится грабом.

gentoo_root ★★★★★
()

>Кто-то ещё считает мегабайты дискового пространства...?
мелочь

или оперативки?

а как сжатие повлияет? о_О

Скорость загрузки, на мой взгляд, более актуальна.

а теперь назови самую медленную часть компа и поймёшь где спряталось «/0»

megabaks ★★★★
()
Ответ на: комментарий от megabaks

>а теперь назови самую медленную часть компа

У меня это процессор, если судить по работе emerge и графикам io в коньках.

Un
() автор топика
Ответ на: комментарий от Un

>С lzo ядро загружалось за ~2.67 секунд, с gzip - за 1.77

Это аптайм во время запуска init'а? Тогда распаковка тут ни при чём. Сначала ядро распакуется, потом начнёт грузиться и логгировать в dmesg сообщения со временем 0, а потом только начинается отсчёт времени для аптайма.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

>Это аптайм во время запуска init'а?

Хз, о чём ты. Это временные метки загрузки ядра до запуска init

Un
() автор топика
Ответ на: комментарий от Un

>Хз, о чём ты. Это временные метки загрузки ядра до запуска init

Именно об этом. Тогда говорю же — они начинают считать время уже после распаковки и выполнения некоторого кода ядра. Они не отражают время распаковки.

gentoo_root ★★★★★
()
Ответ на: комментарий от megabaks

Так и будешь изъясняться в стиле астролога, или скажешь нормально?

Un
() автор топика
Ответ на: комментарий от Un

> А в чём дело?
Иногда megabaks не объясняет почему прав. Самое тормозное место(если у тебя не ssd) это чтение/запись -> ты стреляешь себе в ногу.

tn1
()
Ответ на: комментарий от Un

>А как посчитать время распаковки?

Вероятно, можно написать патч на ядро, чтобы оно сохраняло где-нибудь в переменной в оперативной памяти значения, возвращаемые RDTSC до и после распаковки, а потом, когда ядро определит частоту процессора (что оно не всегда правильно делает, кстати), по разности значений определяло время распаковки и писало, например, через printk.

gentoo_root ★★★★★
()
Ответ на: комментарий от tn1

Вот это откровения, прямо солнце из-за туч.

Un
() автор топика
Ответ на: комментарий от tn1

>Самое тормозное место(если у тебя не ssd)
На ssd оно же. RAM (жуткий тормоз по сравнению с процессором) на порядки быстрее ssd, даже если он в pci-express.

x3al ★★★★★
()
Ответ на: комментарий от Un

Блин. Сделай бенчмарк, что ли. Сравни time cat uncompressed_image>/dev/null с time zcat gz_image >/dev/null и time xzcat xz_image >/dev/null. Только без кэша.

x3al ★★★★★
()
Ответ на: комментарий от Un

> А где взять uncompressed_image?

Предварительно распаковать. К.О.

YAR ★★★★★
()
Ответ на: комментарий от x3al

И да, его же и запаковывать. *zimage в странном формате и мне слишком лень думать, как его прочитать.

x3al ★★★★★
()

Ну, господа, наслаждайтеся:

time cat /usr/src/linux-3.0-gentoo/arch/x86/boot/vmlinux.bin > /dev/null

real    0m0.029s
user    0m0.000s
sys     0m0.003s
time zcat /usr/src/linux-3.0-gentoo/arch/x86/boot/vmlinux.tar.gz > /dev/null

real    0m0.041s
user    0m0.007s
sys     0m0.005s
time xzcat /usr/src/linux-3.0-gentoo/arch/x86/boot/vmlinux.tar.xz > /dev/null

real    0m0.060s
user    0m0.036s
sys     0m0.004s
Un
() автор топика
Ответ на: комментарий от x3al
root@acnote:/tmp/test# time { xzcat file.xz > /dev/null ; }

real    0m0.233s
user    0m0.089s
sys     0m0.014s
root@acnote:/tmp/test# xzcat file.xz > file
root@acnote:/tmp/test# echo 3 > /proc/sys/vm/drop_caches
root@acnote:/tmp/test# time { cat file > /dev/null ; }

real    0m0.080s
user    0m0.000s
sys     0m0.023s

Что и ожидалось. Однако в момент загрузки ядра GRUB'ом у тебя нет работающего в полную скорость диска и идеально работающего с файловой системой ядра, поэтому загрузка происходит достаточно долго - особенно заметно при загрузке ядра с USB, которая, бывает, занимает минуту, причем различается от одной машины к другой вне зависимости от мощности. Так что в данном случае каждый считываемый килобайт на счету

YAR ★★★★★
()
Ответ на: комментарий от Un

vmlinux.bin уже сжат.

rain@dbs86:~/buildfs/kernel/acnote/linux-3.0-rc4$ ls -lh vmlinux arch/x86/boot/vmlinux.bin 
-rwxr-x--- 1 rain rain 2,4M Июн 22 00:23 arch/x86/boot/vmlinux.bin
-rwxr-x--- 1 rain rain 7,6M Июн 22 00:23 vmlinux
YAR ★★★★★
()
Ответ на: комментарий от Un

dd if=/dev/urandom of=file bs=1M count=7

Тебе так критично, чтобы это образ реального ядра в данном случае?

YAR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.