не включается cfq в ядре 2.6.36 [Solved]
Spoiler 30 октября, 2010 - 16:32
Ядро (2.6.36), собранное без initrd получает в грубе параметр elevator=cfq. Кстати, дисковых шедулеров в данном ядре осталось 3 (точнее, даже 2, если не считать noop), при этом в качестве умолчального и вкомпиленного в ядро возможно выбрать только noop и deadline, а cfq - лишь модулем. Так вот, в логах есть записи, что модуль cfq не найден, хотя физически он имеется (правда, имя у него подлиннее - cfq_iosched, но ведь не в имени же дело?). Как бы это победить?
»
- Для комментирования войдите или зарегистрируйтесь
Можно менять планировщик на
Можно менять планировщик на лету, а можно оставить в ядре только нужный планировщик.
evadim написал(а):можно
Нет, вы не правы. noop в ядре (2.6.36) всегда вкомпилен. Дополнительно к нему можно вкомпилить deadline (и выбрать его умолчальным вместо noop), а вот cfq - только модулем, и умолчальным он в данном ядре не делается. Приходится обозначать его в грабе, да вот не подхватывается он почему-то... Ядро без initrd, а он - модуль, это как, не беда?
С этого места поподробнее, pls! В sysctl не обнаружил ничего подходящего, похоже, надо что-то писать куда-нить в /dev/* или в /proc/*, но что и куда я не нагуглил. Ну, и, собственно, а почему при загрузке оно не срабатывает?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Цитата: а вот cfq - только
А это что по вашему:
+1
+1
valet2valet написал(а):А это
Спасибо. Значит мне копать именно сюда... Что ж, получилось. А дело было в следующем: сходя с предыдущего (35-го) ядра я сделал make oldconfig, возможно не слишком внимательно, за что и наступила расплата. make gconfig просто молча не давало возможность вкомпилить cfq в ядро, теперь же я попробовал make menuconfig, и оно, при попытке установить желаемое, сообщило "This feature depends on another which has been configured as a module. As a result, this feature will be built as a module". Осталось найти что именно блокирует, и здесь уже помог gconfig (а всего-то и надо было в комментарии вчитаться), где и обнаружилась заноза "Note: If BLK_CGROUP=m, then CFQ can be built only as module". Спасибо за наводку
Upd: Помнится, начиная с 2.6.35, появился ещё какой-то консольный конфигуратор навроде menuconfig, но по-продвинутей, и даже на этом форуме проскакивало, да вот понадобилось - и не нашёл. Если кто знает - сообщите, pls...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а): Upd:
nconfig
tuupic
Спасибо. Помечаю тему решённой.
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler
cat /sys/class/block/sd*/queue/scheduler
Потому что на момент загрузки ядра такого планировшика нет, модуль лежит на ФС к которой доступ через некий планировщик. У меня собрано монолитно и всё работает.
+1
+1
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
evadim написал(а): cat
Как-то не понравился мне вывод (дефолтным при этом был указан deadline):
Что за фихня - noop так и остался умолчальным? Или как это понимать? Теперь я всё же вбил cfq в ядро, выбрал уже его дефолтным, а вывод точно такой же:
Так и должно быть, или мне теперь надо скриптом что-то сюда вписывать?
Мне это как-то не очевидно. Ведь ничто не мешает ядру, получив доступ к ФС через вкомпиленный планировщик, переключиться затем "на лету" на указанный в грабе. Но, коль скоро это по каким-то причинам невозможно (или возможно, но не делается?), дык и не будем требовать невозможного...
Теперь и у меня cfq в ядре, но, всё равно, мне кажется (судя по листингу выше), noop так и остался приоритетным. Если это не так, объясните, pls, как оно на самом деле
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а):evadim
А откуда ядру знать, есть на подмонтированной фс нужный модуль или нет? Чтобы делать описанные выше пассы, нужно встроить в ядро libastral, но последний к сожалению пока неочень стабильно работает, а новых релизов давно не было...
evadim написал(а): А откуда
Мобыть, оттуда же, откуда это знает udev, hal, modprobe, etc...
То есть, активный планировщик - не тот, что предъявляется первым, а тот, что в скобках, правильно? Если так, теперь у меня то, что и хотелось, спасибо...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а):evadim
они все лежат на диске, вместе с модулями. а ядро стартует само с себя.