Некоторое время назад в Chrome OS была реализована техника ускорения загрузки системы, основанная на асинхронной инциализации (probe) устройств. Теперь механизм асинхронной инициализации устройств предложен (https://lkml.org/lkml/2015/1/16/576) для включения в состав основного ядра Linux.
Суть проблемы состоит в том, что некоторые устройства работают достаточно медленно. Поэтому вызов probe() при сканировании и инициализации устройств может занимать весьма ощутимое время. В этот момент загрузка системы приостанавливается и система не делает ничего полезного вплоть до завершения инициализации устройства, что является неоптимальным с точки зрения времени запуска системы.
Предложенный патч отличается от предыдущих вариантов подобных патчей тем, что старается сохранить точки синхронизации, используемые драйверами в процессе загрузки, что минимизирует побочные эффекты от перехода на асинхронный режим. Кроме того, реализован интерфейс, через который драйвер может отказаться от асинхронной инициализации.
Для экспериментаторов доступен дополнительный, "бескомпромиссный" вариант патча, когда все драйверы принудиельно используют асинхронный режим инициализации. Автор смог успешно загрузить систему на основе RockChip в полностью асинхронном режиме. Тем не менее, эксперименты показали, что некоторые драйверы не работают корректно в таком режиме и использовать данный вариант патча можно только на свой страх и риск.URL: https://lkml.org/lkml/2015/1/16/576
Новость: http://www.opennet.me/opennews/art.shtml?num=41521
>Тем не менее, эксперименты показали, что некоторые драйверы не работают корректно в таком режиме и использовать данный вариант патча можно только на свой страх и риск.Линус покажет фак, инфа 146%
Действительно,длящаяся десяток секунд инициализация выглядит довольно странно.
Поэтому хочу такое,но конечно протестированным и отработанным.И хорошо бы чтоб в строке ядра можно было явно указать модули загрузки которых можно не дожидаться или наоборот,грузить в первую или последнею очередь и ждать.
В этом есть смысл. Как показывает практика - в регистрах может оказаться не дефолтное значение. К примеру sd-кардридер в lenovo x220 работает в линуксе всегда.
А если загрузить линух, а затем виндовс - ошибка в устройстве. Потому, что драйвер в виндовс полагается на дефолтные значения в регистрах, а устройство их не сбрасывает при ресете.
Справедливости ради, kdbus, вроде как, ведёт не Лёня
kdbus ведет Грег КХ. Давайте теперь и его хейтить, че.
> kdbus ведет Грег КХ. Давайте теперь и его хейтить, че.А Грег КХ (учитель и наставник Поттеринга и Сайверса) - старый друг Торвальдса. И неизменно отмазывает своих ребяток перед ним.
Все они из одной банды.
> Справедливости ради, kdbus, вроде как, ведёт не ЛёняВедёт не Леннарт, а его жена Кей Зиверс. Именно о ней Линус сказал "всегда одна и та же грёбанная примадонна".[1]
------------------
Кроа-Хартман вообще-то. И если он кому-то жена - то у вас женой наверное выступает бык для испанской корриды.
> Кроа-Хартман вообще-то. И если он кому-то женаК Грэгу никаких претензий нет.
> К Грэгу никаких претензий нет.Мы очень рады за вас.
> К Грэгу никаких претензий нет.Тогда можете уже угомониться. Все-равно свое у K-H вы не отспорите: калибр не тот.
>> К Грэгу никаких претензий нет.
> Тогда можете уже угомониться. Все-равно свое у K-H вы не отспорите: калибр не тот.Специально для таких чуваков, как комментатор выше, в сортирах вешают надписи "Не льсти себе, подойди ближе" :-)
> Специально для таких чуваков, как комментатор выше, в сортирах вешают надписи "Не
> льсти себе, подойди ближе" :-)Да тут половине ресурса такой комент надо. Они почему-то думают что Торвальдс, K-H или хотя-бы Поттеринг - их личные слуги и будут делать то что надо им. Размечтались то, наимные.
> Да тут половине ресурса такой комент надо. Они почему-то думают что Торвальдс,
> K-H или хотя-бы Поттеринг - их личные слуги и будут делать
> то что надо им. Размечтались то, наимные.Ну как же, "если вы не будете исполнять мои хотелки, я... я... соберу денег вам на киллeра, вот! уже 100 рублей сегодня с завтрака отложил!"
Кроа-Хартман - нормальный пацан. В стане Linux с этим нормально. Не путайте это с миром BSD, где не поймёшь кто кому жена.
> Кроа-Хартман - нормальный пацан. В стане Linux с этим нормально. Не путайте это с миром BSD, где не поймёшь кто кому жена.BSDшники вообще переживают за Linux и systemd больше, чем сами линуксоиды.
> BSDшники вообще переживают за Linux и systemd больше, чем сами линуксоиды.Боятся подорожания вазелина. Нуачо, DRM/KMS пришлось экстренно копипастить. Боятся что с системд такая же фигня получится. В результате они надергают кода под GPL и придется им менять лицензию. Ну или смириться с мыслью что их клиентуру таскают по судам и разводят на сорцы (так что смысл давать подачки как-то отпадает).
> Боятся что с системд такая же фигня получится.Поздняк уже бояться, процесс пошел http://www.opennet.me/opennews/art.shtml?num=41140
Еще лет 10-20, и мы увидим фрю на системд! (Как раз когда Linux перейдет с system-C init на system/M init).
Именно поэтому в каждой новости о БСД набегают линуксодети и начинают полыхать пуканами.
> Именно поэтому в каждой новости о БСД набегают линуксодети и начинают полыхать пyканами.А вот и "взрослые дяденьки" от бояздэ подтянулись, с серьезными научными и инженерными терминами. Ну например, "пyкан".
> этот олень обматюкал разработчика альсы из-за глюков пульзаудииНе альсы, а V4L, и обматюкал очень по делу.
Этот Mauro вообще псих какой-то, постоянно ползал по сорцам и менял все коды ошибок на ENOTTY, так что заглючить могла не только пульса, но и любая libc. Потом Торвальдсу пришлось перед выпуском последнего RC все самому откатывать.
Может он просто ЕНОТ? )) Кто пустил енота в сорцы?!
Они его портировали с асинхронной DragonFly BSD или Haiku?
> Они его портировали с асинхронной DragonFly BSD или Haiku?Они его запилили сами и не с 1 попытки. Внутренности линя не являются копипастой с DF или гайки. И там используются специфичные для линя вызовы.
>> Они его портировали с асинхронной DragonFly BSD или Haiku?
> Внутренности линя не являются копипастой с DF или гайки.Когда речь идет о достоинствах и новых возможностях линукса - все его внутренности автоматически считаются копипастой из BSD. Но как только речь заходит о багах и проблемах - хейтеры удивительным образом меняют точку зрения на противоположную :-)
Тем временем фрибздельники копипастнули GPLный код из ядра линуха 8).
> Тем временем фрибздельники копипастнули GPLный код из ядра линуха 8).FreeBSD - истинно свободная ОС! Что хотим, то и делаем!
OS легкого поведения.
Если ****BSD - OS свободного поведения.... то Линь - абы как-то да работало, косо, криво, абы было )
> копипастнулиНу да, это же бздуны -- извернуться, сделать финт ушами и изобрести на ровном месте свой собственный велосипед для запуска драйверов, пилящихся конкретно под линукс они просто ниасилили -- ну нет у них своего Лени-Великого-Изобритатиля :)
Угадайте с трех раз, кто вообще кмс/дрм в линь и хорг протолкнул, основной код написал (и пишет/коммитит) да и все свои современные драйвера перевел на это дело :)
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...
+++ b/drivers/gpu/drm/drm_modes.c
+ * Copyright © 1997-2003 by The XFree86 Project, Inc.
+ * Copyright © 2007 Dave Airlie
+ * Copyright © 2007-2008 Intel Corporation
+ * Jesse Barnes <jesse.barnes@intel.com>
b/include/drm/drm_mode.h
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
+ * Copyright (c) 2007 Jakob Bornecrantz <wallbraker@gmail.com>
+ * Copyright (c) 2008 Red Hat Inc.
+ * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA
+ * Copyright (c) 2007-2008 Intel Corporation+++ b/drivers/gpu/drm/drm_crtc.c
@@ -0,0 +1,2497 @@
+/*
+ * Copyright (c) 2006-2008 Intel Corporation
+ * Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
+ * Copyright (c) 2008 Red Hat Inc.А вообще, вам лучше в сырцы линя не смотреть, расстроитесь только зря
>derives from FreeBSD 8.x
> borrowed from freebsd
> from the FreeBSD driver
> Based on comments in the source code for the FreeBSD
> Timing numbers are taken from the FreeBSD driver
> Thanks to FreeBSD crew
> Тем временем фрибздельники копипастнули GPLный код из ядра линуха 8).Так и напиши об этом в бздовый мейллист. Чего здесь каждый топик этим засорять? Все равно никто не услышит.
а кто тебе сказал, что он горит желанием помогать? может, он просто ждёт начала очередного цирка?
> а кто тебе сказал, что он горит желанием помогать?Так мы на опеннете. Тут все горят желанием помогать друг-другу. Особенно в темах про бзду и системд.
дадим слово ведущему монстру, простите, специалисту - SystemD
> дадим слово ведущему монстру, простите, специалисту - SystemDВедущий монстр сказал что им это тоже пригодится. У них там какие-то виды на таймауты инициализации модулей были.
пропатчил ядро 3.18.3. В итоге изменение скорости загрузки ядра на моей конфигурации (обычный десктоп) вообще не заметно, но пара модулей не загрузилась, вывалив трейс в dmesg. Вывод: ждем, когда допилят и оттестируют
> но пара модулей не загрузиласьНу вот, система явно на пару модулей стала меньше жрать ресурсов и на пару модулей быстрее стартанула )) Дедукция однако))
>> но пара модулей не загрузилась
> Ну вот, система явно на пару модулей стала меньше жрать ресурсов и
> на пару модулей быстрее стартанула )) Дедукция однако))Гентушники для этого ядро пересобирают.
А теперь все это можно сделать доступным из коробки в любом дистре.
>>> но пара модулей не загрузилась
> А теперь все это можно сделать# echo 'blacklist 1st-module' >/etc/modprobe.d/1st-module
# echo 'blacklist 2nd-module' >/etc/modprobe.d/2nd-module
# reboot_> доступным из коробки в любом дистре.
>>>> но пара модулей не загрузилась
>> А теперь все это можно сделатьа ещё rm есть
>> доступным из коробки в любом дистре.
> # echo 'blacklist 1st-module' >/etc/modprobe.d/1st-module
> # echo 'blacklist 2nd-module' >/etc/modprobe.d/2nd-module
> # reboot_Это недостаточно радикально. Лучше вообще собрать минимальное ядро без поддержки LKM - вот это труЪ gentoo way!
> Это недостаточно радикально. Лучше вообще собрать минимальное ядроЭто недостаточно радикально. Хватит с вас grub и его shell.
Правильно. Запустил grub shell, потыкал кнопочки, почувствовал себя офигенный хакером и крутым гентушником... и все, можно грузить винду и запускать крузис.
> Правильно. Запустил grub shell, потыкал кнопочки, почувствовал себя офигенный хакеромОфигенный хакер - это тот кто сможет запустить под grub'ом крысис :)
> Правильно. Запустил grub shell, потыкал кнопочки, почувствовал себя офигенный хакером
> и крутым гентушником... и все, можно грузить винду и запускать крузис.Так эта... Recovery console от Микрософт на загрузочных дисках давно. Это для тех, кто Дос не застал, и в Quake 1 не играл с клавиатуры по причине отсутствия мыши ))
А в grub тоже есть гамеса, Grub Invaders.
так а какой прирост в скорости? 0.001с? 1с? 30с? хотя бы для сферического компа в вакууме. чтобы было хоть немного понятно, какого порядка числа
эта фича в основном для серверов с кучей всяких рейд-контроллеров, которые могут загружаться по черт знает сколько минут.
Они там черт знает сколько секунд загружаются на этапе запуска биоса, а не в момент запуска ОС. ТАк что опять-же, непонятно, где выигрыш будет.
> Они там черт знает сколько секунд загружаются на этапе запуска биоса, а
> не в момент запуска ОС.Спорно. Биос может занимать по пять минут, пробинг - гораздо больше.
> Они там черт знает сколько секунд загружаются на этапе запуска биоса,В bios большинство дряни можно отключить. А зафига вам вообще BIOS на всяких там RAID контроллерах и прочая? Линь один хрен прямое управление железом делает и сам все детектирует, потуги биосов - напрасная трата времени.
На серверах "с кучей всяких рейд-контроллеров" от включения, до загрузки ядра, проходит минуты 2 (две). Базовая система (КопеечнаяОсь, например) грузится секунд за 5.
> На серверах "с кучей всяких рейд-контроллеров" от включения, до загрузки ядра, проходит
> минуты 2 (две). Базовая система (КопеечнаяОсь, например) грузится секунд за 5.По сравнению со временем пробинга большого SAS-массива (скажем, сто винтов, каждый по полминуты) эти 2 минуты - ерунда.
> так а какой прирост в скорости?Весьма зависит от конкретики железа. И твой ссaный сферический писюк в вакууме - не единственная железка на которой загружается линевое ядро.
>> так а какой прирост в скорости?
> Весьма зависит отНи от чего это не зависит. _Не _будет никакого прироста. Это такой же гидрант, как с ["ускорением" загрузки с] s-d: мы вам тут наструячили, барахтайтесь.
> Ни от чего это не зависит. _Не _будет никакого прироста. Это такой
> же гидрант, как с ["ускорением" загрузки с] s-d: мы вам тут
> наструячили, барахтайтесь.Конечно. С sysvinit мой дебианчик грузился почти минуту, с systemd - меньше десяти секунд. Нет никакого прироста. Честные глаза Андрюшки Митрофанова не можгут врать!
> Конечно. С sysvinit мой дебианчик грузился почти минуту, с systemd - меньше десяти секунд. Нет никакого прироста.У меня грузится 5 сек., так что поттеринговая поделка для лохов.
> У меня грузится 5 сек., так что поттеринговая поделка для лохов.А у меня -5 сек - еще за 5 секунд до того, как включаю питание, уже все загружено.
Вот что творит сила юниксвея!
> Ни от чего это не зависит. _Не _будет никакого прироста.Ну да, гугл с хромой осью лохи и только опеннетчики в скорости загрузки знают толк :)
Правда у гугли вот виды на продажу этих девайсов и им не в кассу чтобы после включения девайса кастомер 5 минут втыкал на неработоспобный девайс. А опеннетчики чешут ЧСВ и девайсы не продают. Такая вот разница :)
клоун епты
загрузка android/мобильных устройств будет быстрее например
и сколько раз в день ты ведрофон выключаешь?
> и сколько раз в день ты ведрофон выключаешь?Юзеру хватит первой загрузки в 5 минут чтобы положить девайс обратно на полочку и посчитать что такое тормозилово ему ни к чему. Первые впечатления - решают.
> Юзеру хватит первой загрузки в 5 минут чтобы положить девайс обратно на
> полочку и посчитать что такое тормозилово ему ни к чему. Первые
> впечатления - решают.iPhone грузится минуту, только об этом мало кто знает.
сон используется не только и не столько ради ускорения включения
> В идеале, компьютер долженСам идеалы придумываешь?
ИМХО время реакции компьютера на любое действие пользователя должно быть меньше времени реакции пользователя - это и будет идеал.
Именно. Но это мало до кого доходит. Попривыкали к тормозам...
> Попривыкали к тормозам...У многих это уже вопрос фанатизма. "Моя любимая система тормозит - значит, скорость не нужна!111"
> ИМХО время реакции компьютера на любое действие пользователя должно быть меньше времени
> реакции пользователя - это и будет идеал.Ну вот мой первый компьютер на горячую перезагружался за 2 секунды. В промпт CP/M. Спасибо рамдиску переживавшему ребут. Писюки с SSD только начинают приближаться к этому результату. Замечу что это был i8080 @ 3MHz..
>> В идеале, компьютер должен
> Сам идеалы придумываешь?Конечно. Спросите любого далекого от компьютерного задpотства человека - и с вероятностью >90% услышите ровно про те же идеалы :)
>>> В идеале, компьютер должен
>> Сам идеалы придумываешь?
> Конечно. Спросите любого далекого от компьютерного задpотства человека - и с вероятностью
> >90% услышите ровно про те же идеалы :)Угу, сижу и вижу как народ минуту вдупляет как Гуглу правильно вопрос задать.
> Угу, сижу и вижу как народ минуту вдупляет как Гуглу правильно вопрос задать.Даже их бесит ждать 10 секунд загрузки ответов. Проверено.
> Так как с systemd десктоп загружается оно теперь в несколько раз быстрее, чем выходит из сна (во сколько именно - зависит от объема памяти), то сон вообще нафиг никому не впился.Что, и все офисные документы, сотня страниц в фаерфоксе, куча софта тут же доступна? Ай да системд, что творит.
Ну в кедах и локальные офисные документы, и сотня страниц в фаерфоксе, куча софта (правда для неё как повезёт, зависит от софта) и так доступны после старта и без гибернации и без системд.
>> Так как с systemd десктоп загружается оно теперь в несколько раз быстрее, чем выходит из сна (во сколько именно - зависит от объема памяти), то сон вообще нафиг никому не впился.
> Что, и все офисные документы, сотня страниц в фаерфоксе, куча софта тут же доступна? Ай да системд, что творит.Вы не поверите, таки да, доступны, причем без участия системд. Системд нужен разве что для того, чтобы они были доступны быстрее.
> так а какой прирост в скорости?В свое время мы сэкономили ~25сек, что примерно половина времени загрузки, когда сократили wait в initrd - ожидание готовности scsi
И наверно таких мест можно найти вагон.
Загрузка не нужна.
Что-то помнится уже довольно давно асинхронная инициализация в ядре...
> Что-то помнится уже довольно давно асинхронная инициализация в ядре...Для SATA, помнится.
SATA, SCSI, USB, SND_HDA, WIFI (не все),RAID5/6, DMA, NFS, ... ваще линь довольно асинхронная ось.И не забываем, что асинхронные методы всегда требуют промежуточной или финальной синхронизации.
Что в сумме просаживает пропускную способность.
Ну и последний вопрос к всем отписавшимся оналитегам, - кто уже бенчмарки, тесты проделал?Давайте сравнивать.
некоторые люди просто не могут уснуть, пока не насрут в ядро.
> некоторые люди просто не могут уснуть, пока не насрут в ядро.Пользуйся ядром 1.0 - там никто "гадить" уже не будет. Хотя если авангардизм долбит - можно на 2.4 посмотреть. По слухам ему недавно наступил окончательный стабилизец.