Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Тротлинг в самодельном ядре  (Прочитано 1842 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Тротлинг в самодельном ядре
« : 13 Августа 2010, 10:40:35 »
Собрал ядро 2.6.34 по конфигурации стандартного 2.6.32-22-generic. Единственное что изменил - выбрал свой тип процессора "Pentium M", (и конечно же отключил Kernel debugging). Запустилось, работает, но чуть медленнее. Потом в бенчмарке смотрю, а частота процессора на минимуме - 800 МГц и до возможной 1.8 ГГц не повышается. Поставил cpufrequtils. cpufreq-info пишет, что неизвестный драйвер. Почему так получилось и что же мне теперь делать?

Пользователь решил продолжить мысль 13 Августа 2010, 18:37:20:
Еще cpufreq-info показывает, что стандартное ядро от 10.04 использует какой-то драйвер "centrino", с ним все хорошо и быстро работает. Поискал, никаких похожих на него модулей не существует. Откуда он загружается? В ядро вкомпилирован что-ли?
Попробовал с самодельным ядром использовать драйвер "p4-clockmod". Жуткое дело, cpufreq-info определил частоты CPU от 75 МГц до 600 МГц.
Где можно взять драйвер "centrino"?

Пользователь решил продолжить мысль 14 Августа 2010, 13:13:11:
В конфигурационном файле ядра 2.6.34 нашел новую опцию CONFIG_X86_PCC_CPUFREQ. (PCC - это Processor Clocking Control) и она была выключена. Включил, пересобрал ядро - не помогло. Для чистоты эксперимента взял старое ядро 2.6.32.15 и собрал его с настройками от 2.6.32.22-generic. При загрузке пишет:
Loading cpufreq kernel modules        [OK]
Обрадовался, но рано - не работает frequency scaling.
Посмотрел в исходных текстах откуда cpufreq-info берет сведения о драйвере процессора. Оказывается просто читает /sys/devices/system/cpu/cpu0/..
У кого нибуть есть идеи?

Пользователь решил продолжить мысль 14 Августа 2010, 17:35:03:
Драйвера cpufreq нашлись - исходные тексты лежат в "/usr/src/linux-2.6.34/arch/x86/kernel/cpu/cpufreq" Там есть и acpi-cpufreq и speedstep-centrino и др., но как модули (.ko) они не собираются, а встраиваются прямо в ядро. Об этом свидетельствует образовавшийся после компиляции файл modules.builtin И несмотря на отсутствие файлов .ko команды
modprobe acpi-cpufreq
modprobe speedstep-centrino
ошибок не вызывают, но модули почему-то не загружаются и в /proc/modules их нет. Как установить причину этого безмолвного саботажа?
« Последнее редактирование: 14 Августа 2010, 17:35:03 от 0xEEd »

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #1 : 20 Августа 2010, 10:48:49 »
Появились сообщения об ошибке. Оказывается, если драйвера встроены в ядро, то добавление их через modprobe никаких сообщений в случае неудачи не показывает, а при успершном добавлении в /proc/modules они тоже не видны. Т.е. модули встроенные в ядро lsmod никогда не покажет.
Сделал драйвера cpufreq отдельными файлами (.ko) Теперь modprobe пишет "No such device". В такой ситуации некоторым помогало изменение соответствующих настроек BIOS, но у меня их нет и все стандартной сборке все как-то работает.
Вот такая дилемма: пользоваться Linux но без переконфигурации ядра.  .. абсурд  :-[

Оффлайн ChaosWarrior

  • Активист
  • *
  • Сообщений: 461
  • d(-_-)b
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #2 : 20 Августа 2010, 11:48:43 »
А по дефолту собирается нормально? Я бы сначала сделал безо всяких изменений.
Открытый код и его подержка — это лучшая реклама Windows.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #3 : 20 Августа 2010, 12:16:39 »
Цитировать
Оказывается, если драйвера встроены в ядро, то добавление их через modprobe  никаких сообщений в случае неудачи не показывает, а при успершном добавлении в /proc/modules они тоже не видны. Т.е. модули встроенные в ядро lsmod никогда не покажет.

Какое отношение lsmod имеет ко вкомпиленому коду?
Подпись автора jillsmitt истинна...

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #4 : 20 Августа 2010, 12:47:34 »
ChaosWarrior, в том то и проблема, что даже без изменений конфигурации тротлинг перестает работать  :'(

Alie Alexandross, я думал, что раз код в ядре структурирован, то и модули, даже меняя свою форму представления в файловой системе (т.е. переставая быть обособленными файлами), продолжают оставаться модулями логическими. В "man lsmod" пишут:
Цитировать
show the status of modules in the Linux Kernel
и не уточняют, что именно подразумевается под "modules".

Оффлайн ChaosWarrior

  • Активист
  • *
  • Сообщений: 461
  • d(-_-)b
    • Просмотр профиля
Тротлинг в самодельном ядре
« Ответ #5 : 20 Августа 2010, 13:51:29 »
Цитировать
в том то и проблема, что даже без изменений конфигурации тротлинг перестает работать
Здесь и нужно было остановиться. Значит, конфигурация неверна. И вообще, с какой целью собирать ядро, не умея это делать?
Открытый код и его подержка — это лучшая реклама Windows.

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #6 : 20 Августа 2010, 16:12:54 »
Цитировать
в том то и проблема, что даже без изменений конфигурации тротлинг перестает работать
в том и проблема, что в убунте используется не ванильное ядро. на него еще сверху накладывается впечатляющий список патчей.
так что лучше потратить часок на чтение хелпов/lshw/.... и собрать нормально под свое железо
ЗЫ. сорри за оффтоп, но я один прочитал "троллинг" в названии темы?
лучше на "ты"

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #7 : 20 Августа 2010, 18:06:22 »
ChaosWarrior, как она может быть неверна, если взята от стандартного ядра и не изменялась?? Чтобы просто собрать/установить ядро большого ума не надо. Почему вы решили что я этого не умею? Уже 9 штук собрал :) Цель же простая - избавиться от лишних модулей, повысить эффективность и т.д.
Низкую частоту CPU заметил только на 5 сборке. Из 2473 модулей осталось ~500. Стал разбираться и обнаружил отсутствие тротлинга даже в дефолтной конфигурации. Т.е. польза в своем ядре все-таки есть.

dimas000, а в следующую версию ядра патчи от предыдущей версии разве не включаются? Если было 2.6.32-22, то в 2.6.34 эти 22 заплатки уже есть или все равно ставить нужно?

Оффлайн ChaosWarrior

  • Активист
  • *
  • Сообщений: 461
  • d(-_-)b
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #8 : 20 Августа 2010, 18:23:47 »
Постом выше написано, почему дефолтная конфигурация неверна. И да, когда закончишь, пережми такой полноценный лицензионный фильм с DVD в формат MKV. На новом и старом ядрах соответственно. И какова будет разница. В минутах.
Открытый код и его подержка — это лучшая реклама Windows.

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #9 : 20 Августа 2010, 18:37:04 »
Цитировать
dimas000, а в следующую версию ядра патчи от предыдущей версии разве не включаются? Если было 2.6.32-22, то в 2.6.34 эти 22 заплатки уже есть или все равно ставить нужно?
тут вообще следует начать с того, откуда ты сырцы берешь. могут быть и патченные, тогда замечание выше неактуально. а коли нет - надо искать. где-то я видел страницу с кучей этих патчей, но теперь поди найди
лучше на "ты"

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #10 : 20 Августа 2010, 20:08:30 »
ChaosWarrior, про некорректность конфигурации понял. Но тогда в них должны быть и отличия в опциях. Я сравнивал diff'ом и ничего, что касалось бы CPU не обнаружил  :-\ Оценить производительность мне тоже было бы интересно но пока, увы, никак.

dimas000 конечно же с kernel.org А где еще найти можно?
 

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #11 : 20 Августа 2010, 20:29:36 »
Цитировать
dimas000 конечно же с kernel.org А где еще найти можно?
тоды понятно. ваниль, как и предполагалось.
найти можно: во-первых, здесь - http://kernel.ubuntu.com/~kernel-ppa/mainline/
сию ссылку запомни, полезное место. там же можно брать собранные свежие версии ядер, я на таких и сижу. а есть и сырцы, только почему-то не везде. например, вот http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.33/linux-source-2.6.33_2.6.33-020633_all.deb
во-вторых, есть пакет linux-source. но это только для текущей версии ядра, например, 2.6.31 в случае с моей karmic.
там, по идее, и будут патченые сырцы. иначе требо искать патчи отдельно
лучше на "ты"

Оффлайн Deathrose

  • Участник
  • *
  • Сообщений: 167
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #12 : 20 Августа 2010, 23:29:11 »
Кхм а процессор какой ? Неужто и правда подходящий под определение Pentium-M уж больно древне. Может попробуете Pentium-4 поставить.

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #13 : 21 Августа 2010, 16:56:08 »
Alie Alexandross, я думал, что раз код в ядре структурирован, то и модули, даже меняя свою форму представления в файловой системе (т.е. переставая быть обособленными файлами), продолжают оставаться модулями логическими. В "man lsmod" пишут:
Цитировать
show the status of modules in the Linux Kernel
и не уточняют, что именно подразумевается под "modules".
В том и соль монолитных ядер: весь зоопарк загружается сразу и не может быть впоследствии отключён/изменён/добавлен.
Подпись автора jillsmitt истинна...

Оффлайн 0xEEd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Тротлинг в самодельном ядре
« Ответ #14 : 21 Августа 2010, 19:26:25 »
dimas000, спасибо за ссылки. Перепробовал оттуда несколько готовых ядер, но и с ними та же проблема. Увидев альтернативу kernel.org стал искать версию своего рабочего ядра с патчем и скачал из репозитория исходники: "sudo apt-get install linux-source" Они оказались не самые свежие 2.6.32.11, но в них еще "+drm33.2" Незнаю что это за добавка, но процессор заработал на полную мощность.  :) Полный бардак с этими версиями.

Deathrose, да, старенький уже:
Цитировать
Name      : Intel(R) Pentium(R) M processor 1.86GHz
Family, model, stepping      : 6, 13, 8 (Pentium III/Pentium III Xeon/Celeron)

Alie Alexandross, это в адресное пространство они грузятся всем стадом, а система не может использовать их всех. Например несколько встроенных cpufreq драйверов: powernow-k6, speedstep-centrino, cpufreq-nforce2 и др. Значит долженн быть механизм активации-инициализации. Выгрузить из памяти их нельзя, а отключить-подключить наверное можно.
« Последнее редактирование: 21 Августа 2010, 19:33:29 от 0xEEd »

 

Страница сгенерирована за 0.018 секунд. Запросов: 19.