LINUX.ORG.RU

kernel optimization (gcc options)


0

0

Попробовал собрать ядро со следующими опциями:

в Makefile CFLAGS += -O9 -fomit-frame-pointer -funroll-loops -frerun-loop-opt -ffast-math -march=pentium4 -mcpu=pentium4 -mmmx -msse -malign-double

компилится нормально, грузиться, а когда доходит до init'а получается облом с кучей сообщений, что respawning to fast или чтото похожее. В логах ничего. Со стандартными опциями собирается и грузится гут! Объясните дураку, как собрать ядро оптимизированное по скорости.

Исходные данные: gcc 3.2.2 kernel-source 2.4.20-9asp


-

-msse -malign-double -ffast-math не используются в ядре никак

про то что делает -O9 и -mmmx читай info gcc ... и впреть сначала думай что делаешь :)

sS ★★★★★
()

Приветствую.
-O9 - не знаю такой .. если аналог -O3 то попа .. потому как включается
-finline-functions
а это противопоказано при компилляции ядра .. где-то в доках написано )
Best respect,$echo.

anonymous
()

Вообще говоря, ядро - вещь достаточно тонкая и сложная для автоматической оптимизации. Единственоое, что можно позволить - это -mсpu=... , осталные заточки уже сделаны создателями ядра вручную.

Я при сборке ядра (в FreeBSD) пользуюсь ещё опцией -O , т.е. неагрессивной оптимизацией, что разрешено в документации.

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

Что за сисколл с номером -1?

Маразм какой-то... Очень странно, что компилятор и ядро зависят друг от друга таким безумным образом, ИМХО.

Debugger
()
Ответ на: - от sS

Я собсно и не собирался думать что делаю. Просто прочитал где-то, решил проверить. Вастречный вопрос, каким образом вообще производить тестирование производительности ядра?

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

Разве что в этом есть что-то смешное ... наверное слишком тонкий юмор.

Достаточно немного "переупорядочить" scheduling_functions метки и у тебя перестанет работать get_wchan.

Я уже не говорю про то, что gcc с опциями -O3 и выше, вообще говоря , выдает нестабильный код, который даже не завязывается на такого рода вещах.

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

>>Достаточно немного "переупорядочить" scheduling_functions метки и у >>тебя перестанет работать get_wchan.
Что это и почему может не работать ?!

anonymous
()
Ответ на: комментарий от timotei

-

>Я собсно и не собирался думать что делаю. Просто прочитал где-то, решил проверить. Вастречный вопрос, каким образом вообще производить тестирование производительности ядра?

про опции оптимизации читаешь info gcc а потом что непонятно - залакировываешь на http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/

Более менее относящийся к kernel perfomance тест это что-то типа http://ltp.sourceforge.net/

sS ★★★★★
()
Ответ на: - от sS

тупой вопрос по find

Подправил вчера makefile на предмет -march=athlon -O6 и собрал gcc 3.3.2 Все прекрасно собралось и замечательно работает ! Так что не надо ля-ля !

anonymous
()
Ответ на: тупой вопрос по find от anonymous

тупой вопрос по find

Я даже знаю что сейчас скажут - скажут парень опции -O6 нет 8-)
Отдыхайте ребята -O666 даже есть - RTFM !

anonymous
()
Ответ на: тупой вопрос по find от anonymous

-

>Подправил вчера makefile на предмет -march=athlon -O6 и собрал gcc 3.3.2 Все прекрасно собралось и замечательно работает ! Так что не надо ля-ля !

Ню-ню ;)))

лано - иди читай info gcc ;)

In addition, please pay attention to compiler optimization. Anything greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x or derivatives, be sure not to use -fstrict-aliasing (which, depending on your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing).

как говорится, кажный сам себе злобный буратина ;)

sS ★★★★★
()
Ответ на: - от sS

RE:

-O666 - что-то в этом есть ;)

а если серьёзно, то -O[6|666] => -O<max>, where max = 3 for gcc

loki
()
Ответ на: - от sS

тупой вопрос по find

Гы-гы-гы RTFM info gcc 3.3.2 а не 2.95 :)
Так что буратино сегодня ты :)

anonymous
()
Ответ на: - от sS

тупой вопрос по find

Ну дык устарела документация - тебе же английским по черному неаписано - для 2.95 а не для 3.3.2 :)

anonymous
()
Ответ на: тупой вопрос по find от anonymous

тупой вопрос по оптимизации

's/неаписано/написано/g' :)

anonymous
()
Ответ на: тупой вопрос по find от anonymous

-

>Ну дык устарела документация - тебе же английским по черному неаписано - для 2.95 а не для 3.3.2 :)

Дык ты тестируй давай ;) (токо если данные потеряются при краше ядра ты не кричи что линух гумно и что тебя не предупреждали ;)) а потом пости в lkml - может и помняют документацию

sS ★★★★★
()
Ответ на: - от sS

тупой вопрос по find

Дык тестирую, тестирую 23 часа 52 полет нормальный :)
Запускалось за это время много чего и все нормально :)
А кричишь пока только ты :)

anonymous
()
Ответ на: тупой вопрос по find от anonymous

-

>Дык тестирую, тестирую 23 часа 52 полет нормальный :) >Запускалось за это время много чего и все нормально :) >А кричишь пока только ты :)

Это не тесты а она... сам знаешь чего ;) тестируются все варианты сочетаний драйверов и настороек

про тестовые последовательности чего нибудь слышал ?

sS ★★★★★
()
Ответ на: - от sS

Слышал, однако мне работать надо а не онанировать.
Онанировать - представляю тебе, а у меня uptime уже не маленьний :)
А ты тестируй ! Тестируй ! :)

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

Молодой человек , вам бы перед тем как прикладывать линейку к Вашему аптайму не мешало бы культуре поучится а как тестируют профи предлагаю почитать вот тут http://www.ispras.ru/groups/rv/ шоб в дальнейшем не вываливать на всеобщее обозрение Ваши деЦкие комплексы, связанные с фаллометрией.

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

Вы вероятно что-то путаете. Лично я работаю, а прикладываете куда-то линейку (у вас, культурных людей, это я так понял зовется фаллометрией) именно вы а не я. Кстати вероятней всего молодым человеком из нас двоих следует звать вас.

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

>Вы вероятно что-то путаете. Лично я работаю, а прикладываете куда-то >линейку (у вас, культурных людей, это я так понял зовется фаллометрией) >именно вы а не я. Кстати вероятней всего молодым человеком из нас двоих >следует звать вас.

Интересно, кто берет на работу людей с таким уровнем образования и квалификации ? Шли бы Вы из Development в Talks и не засоряли форум своими измылениями на тему "оптимизации ядра" - не нужно оно Вам. Вам _мягко_ посоветовали не заниматься самодеятелностью в той области, в которой Вы мягко говоря не компетенты - реакци я же была абсолютно деЦкая.

sS ★★★★★
()

А есь ваще смысл ? Чё дефолтная оптимизация систему утормаживает ?

anonymous
()
Ответ на: комментарий от sS

>>Шли бы Вы из Development в Talks
Я так понимаю что -march, -mcpu, -O666 это запретные знания доступные только избранным ?

>>Вам _мягко_ посоветовали не заниматься самодеятелностью
Как ? Выдержками из древнего info gcc ? Там и ключей-то таких не было :)
Вообщем хватит гнуть пальцы. Все прекрасно работает с kernel 2.4.22, -march=athlon и -O666 и почему бы ему не работать вы вразумительного ответа не привели.

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

-

>Вообщем хватит гнуть пальцы. Все прекрасно работает с kernel 2.4.22, -march=athlon и -O666 и почему бы ему не работать вы вразумительного ответа не привели.

Оптимизация ядра ключами компилятора выше -O2 (это стандарт) не применяется потому как минимум _бесполезна_ -O3+ это ДВА дополнительных флага -finline-functions и -frename-registers

Я не буду придираться к:

>Выдержками из древнего info gcc

про то что приводились выдержки из info gcc это вам приснилось

>Там и ключей-то таких не было :)

ключи были - небыло шедулинга под athlon

По сути топика См мой ПЕРВЫЙ пост - дискуссия закончена

sS ★★★★★
()
Ответ на: - от sS

>>-O3+ это ДВА дополнительных флага -finline-functions и >>-frename-registers
Ну слава богу хоть тут мануал читать умеем :)

>>небыло шедулинга под athlon
Ты надеюсь в курсе чем оптимизация под первый пень отличается от оной
под второй ? А под athlon ? Угу мелочь такая...

>>дискуссия закончена
WOW ! Сказал - как отрезал ! Ты это... дураками-то всех вокруг не считай, гуру ты наш доморощенный :) Раз ключи есть значит они для чего-то делались, ы ? Уверяю не для того чтобы ты их не нужными назвал :) Еще раз: вразумительного ответа чем может ПОМЕШАТЬ -march=athlon -O666 ты не привел.

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