devl547 28.08.2009 11:49
Новое и интересное про Linux — Zen-sources
Zen-Sources.org - Linux kernels done right!Многие из вас наверняка слышали о том, насколько консервативен Линус Торвальдс в добавлении новых функций в ядро. Например достаточно известная файловая система Reiser4 до сих пор существует только в виде отдельного патча, и включать ее в основную ветку не собираются. Та же самая история происходит с большим числом менее известных дополнений.
Но существуют проекты, занимающиеся добавлением их в ядро.
В самом начале пользователям приходилось самим доставать на просторах интернета эти патчи, пытаться накладывать их на ядро и разбираться с ошибками.
В дальнейшем появились патчсеты, мантейнеры которых адаптировали патчи к ядрам и выпускали сразу наборы из нескольких патчей. Самые известные из патчсетов - -rt (разработанный Инго Молнаром патч для поддержки realtime), -ck (от Кона Коливаса для улучшения работы и отзывчивости системы на десктопах) и -mm (основанный Эндрю Мортоном и содержащий экспериментальные патчи)
Zen-sources уже является шагом вперед от патчсетов. Попробую рассказать о его особенностях.
Во-первых, разработка ведется в своем собственном git-репозитории, основанном на git основного ядра. Поэтому все изменения в последнем практически сразу приходят в zen.
Во-вторых, они не выпускают патчи. То есть либо качаешь архив исходников ядра, либо собираешь из git, но патчи уже будут наложены в обоих случаях.
В-третьих, разработчики не ориентируются только на одно ядро. Патчи накладываются как на уже выпущенное ядро, так и на находящееся в разработке. Например сейчас можно скачать как 2.6.30-zen, так и 2.6.31-rc7-zen
Из всех патчей в zen особого внимания заслуживают следующие:
BFS Scheduler (судя по отзывам, отлично улучшает отзывчивость системы)
Reiser4 (очень быстрая файловая система с возможностью сжатия данных)
BFQ, V(R) и Fifo дисковые шедулеры (часто более отзывчивые, чем стандартный CFQ)
CK-patches (патчи для десктопных систем)
Compcache (страницы памяти, попадающие в свап, сжимаются lzo и держатся в ОЗУ, не трогая свап на диске)
KSM (Kernel Samepage Merging, обьединяет одинаковые страницы в памяти для ее экономии. Пока эту функцию использует только Xen)
SLQB (более быстрый Slab аллокатор)
Этими патчами список не ограничивается, но если рассказывать о всех, то пост растянется надолго.
Очень рекомендую собирать Zen-sources из git, чтобы всегда иметь самое свежее ядро со всеми свежими фиксами (к сожалению, и багами тоже).
Сделать это очень просто (привожу пример для gentoo)
1 |
|
И дальше собираем его обычным способом.
Советую сделать make menuconfig и посмотреть все возможные варианты сборки, может что-то окажется важным.
(Ногами не пинать, абсолютно не умею писать обзоры)
KblCb 28.08.2009 12:37 #
+ 0 -
Очень любопытно. А кто этим непосредственно занимается?
В git написано: Brandon Berhent, Dominic Duklas, Ryan Hope, James Toy.
Что конкретно каждый делает, не знаю.
Что конкретно каждый делает, не знаю.
Будем смотреть. А вот обещанного тарбола с исходниками я не нашёл. Только патчи и git. Я конечно люблю эксперименты, но на ветку 2.6.30 Патрик переходить не велит. Сейчас попробую их патч на 2.6.29.
Да, это моя ошибка. Они уже прекратили делать архивы.
Просто я практически с самого начала сижу на git и обо всем остальном узнаю из ветки на forums.gentoo.org
Просто я практически с самого начала сижу на git и обо всем остальном узнаю из ветки на forums.gentoo.org
А вот патч рейзера на ванильное ядро и меня начиная с .27 начал приводить в к.паникам с завидной стабильностью... Ниче такого не заметно?
У меня / на reiser4 с вот такими опциями форматирования:
mkfs.reiser4 -o create=ccreg40,compress=gzip1,compressMode=ultim,cluster=8K,fibration=lexic_fibre,formatting=smart
Все работает как часы, паника не видел уже больше полугода.
mkfs.reiser4 -o create=ccreg40,compress=gzip1,compressMode=ultim,cluster=8K,fibration=lexic_fibre,formatting=smart
Все работает как часы, паника не видел уже больше полугода.
Как-то недавно ставил. Все бы ничего если бы не постоянные обновления из GIT.
не надо делать make clean и пусть собираются только измененные файлы.
Арч, увы, такого не позволяет со своей системой PKGBUILDов. Может я и ошибаюсь.
А зачем pkgbuild? Например я в генте ядро все равно руками собираю. Ничему это не мешает.
Я в арче вполне неплохо собираю на нетбуке свое ядро. Не Zen, конечно, обычное с kernel.org. Собираю прямо в домашней директории. И за все это время ни разу не пожаловался. Хоть каждый день мог бы собирать, если бы каждый день появлялось что-то нужное для нетбука в ядре. А так как "минэ ничэво нэнада, у мэнэ фсьо есть", то пересобираю ядро довольно редко. Но после первой сборки с нуля процесс ускоряется значительно.
Проверил, немного странно и непривычно себя комп иногда ведёт(конкретнее объяснить не могу, но думаю дело в BFQ)
NVIDIA дрова последние(36), с офсайта, работают нормально, в отличие от 14, которые надо собирать с патчем(погуглите nvidia 2.6.31)
NVIDIA дрова последние(36), с офсайта, работают нормально, в отличие от 14, которые надо собирать с патчем(погуглите nvidia 2.6.31)
Как проверяли? патч?
На гентушном форуме грят, там уже есть патч от ядреного бага с непредсказуемым поведением при копировании больших размеров. Покопируете что-нить? ;)
Автору топа. Вы бы хоть предупреждали, сколько оно из гита весит. Впрочем, ладно уж...
На гентушном форуме грят, там уже есть патч от ядреного бага с непредсказуемым поведением при копировании больших размеров. Покопируете что-нить? ;)
Автору топа. Вы бы хоть предупреждали, сколько оно из гита весит. Впрочем, ладно уж...
Что проверял? Сборку дров?
У меня нечего большого копировать, максимальный файл на ноуте гигов на 2-3, так что не могу сказать что какие то проблемы были.
У меня нечего большого копировать, максимальный файл на ноуте гигов на 2-3, так что не могу сказать что какие то проблемы были.
непривычно себя комп иногда ведёт
не могу сказать что какие то проблемы были
:)
Я не кащенит, но сами видите. Дрова не интересуют, ибо ати, я интересовался, что заставило думать про BFQ?
Комп непривычно ведёт себя в плане отзывчивости
Что заставило посмотреть в сторону BFQ? Дык для того я и собирал, чтобы посмотреть, какая к чёрту между ними разница :)
Что заставило посмотреть в сторону BFQ? Дык для того я и собирал, чтобы посмотреть, какая к чёрту между ними разница :)
а можете что-нить хорошее сказать про те планировщики, что в комплекте?
или просто cfq потому что default, или мож, знаете как понадежней протестировать...?
или просто cfq потому что default, или мож, знаете как понадежней протестировать...?
Я ядерными разработками пока не занимался(в C++ ни бум бум пока :)
Так что про тестирование ничего сказать не смогу, ибо даже не представляют как тестировать то :)
А так - поставил и поставил, принципиальной разницы для обычного линукс пользователя между ними нет, ну может на каких то вещах один будет вести себя лучше чем другой.
Так что про тестирование ничего сказать не смогу, ибо даже не представляют как тестировать то :)
А так - поставил и поставил, принципиальной разницы для обычного линукс пользователя между ними нет, ну может на каких то вещах один будет вести себя лучше чем другой.
Нашел время, докачал)
Не собирается, зараза.
Покажете свой конфиг? (gcc -v не забудьте)
Не собирается, зараза.
Покажете свой конфиг? (gcc -v не забудьте)
А в каком месте не собирается? если вылетает когда пытается собрать какую-то штуку, для поддрежки утройств для людей с ограниченными возможностями ( к сожалению не помню как он называется), его можно смело отключить и дальше оно собереться. Но у меня это ядро не хотело заводиться без acpi=off в строке инициализации ядра (случай не единичный, т.к. решение найдено гуглением, и актуально почему-то именно для арча), а когда захотело - завадилось больше минуты, я не выдержал и свалил на родное -ice ядро.
Не, у меня конфиг был наверное херовый, но ванильное терпело.
Уважаемый devl547 дал конфиг, я подточил. Теперь летает.
Про больше минуты - порефлексируйте. Ванильное .31 заводилось 1,7 сек. (уже писал). но от zen теперь до init`а = 1,4 сек. Думайте.
Уважаемый devl547 дал конфиг, я подточил. Теперь летает.
Про больше минуты - порефлексируйте. Ванильное .31 заводилось 1,7 сек. (уже писал). но от zen теперь до init`а = 1,4 сек. Думайте.
Народ, кто на этом ядре сидит?
У меня всё нормально собралось и бегает ощутимо быстрее ванильного, но время от времени проявляется досадный глюк - если быстро печатать на клавиатуре и случайно нажать две клавиши разом, то с ненулевой вероятностью одна из клавиш "западает" и нажимается всё время, причём может "запасть" даже шифт или стрелочка (особенно весело, если Enter). Продолжается эта ересь, пока не прибьёшь иксы. Wtf?
У меня всё нормально собралось и бегает ощутимо быстрее ванильного, но время от времени проявляется досадный глюк - если быстро печатать на клавиатуре и случайно нажать две клавиши разом, то с ненулевой вероятностью одна из клавиш "западает" и нажимается всё время, причём может "запасть" даже шифт или стрелочка (особенно весело, если Enter). Продолжается эта ересь, пока не прибьёшь иксы. Wtf?
у меня на gentoo-sources такое же наблюдается, но очень редко
ксорг 1.6.5
ксорг 1.6.5
у меня тоже на gentoo-sources такое, и тоже очень редко :)
и на разных ксоргах.
и на разных ксоргах.