Аналог cpufreqd конфигурируемый на lua
batareykin 11 марта, 2012 - 10:29
Хочется услышать оценок.
Может кто-нибудь поможет разместить в оверлее - sunrise или rion.
ebild и init внутри архива.
https://sourceforge.net/projects/lpmd/files/
»
- Для комментирования войдите или зарегистрируйтесь
Гм… А нафига? Я не помимаю,
Гм… А нафига? Я не помимаю, честно говоря, зачем нужно что-то кроме подходящего governor в настройках ядра.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Или он не просто cpufreq? А
Или он не просто cpufreq? А за батареей следить умеет, да?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
За батареей следить умеет, в
За батареей следить умеет, в конфиге по умолчанию задействовано.
В принципе умеет всё, что умеет cpufreqd.
Ещё он потребляет значительно меньше ресурсов чем cpufreqd, особенно процессора.
Когда появится свободное время добавлю отключение неиспользуемых ядер, на i7 работает.
Ну и гибкость.
А засыпать (`hibernate-ram`)
А засыпать (`hibernate-ram`) при разрядке? Испытываю желание запилить в rion. А то, моет, и в дерево пропихнём.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а): А
Не умеет пока, можно на lua реализовать.
Для основного дерева наверное недостаточно стабилен, всё таки под рутом работает.
batareykin написал(а): под
Хм, а зачем?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
cpufreq менять, для
cpufreq менять, для остального не требуется
В принципе можно у cpufreq файлов пользователя поменять, пробовал, всё работает
но после hibernate они опять в root возвращаются
Я думаю, над этим надо как-то
Я думаю, над этим надо как-то подумать, чтоб демон мог sudo использовать или вроде того.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а): Гм… А
Можно менять политики в зависимость от запущенных процессов или от сенсоров.
Можно плавно управлять вентиляторами, если драйвер позволяет.
Если еще это штука будет
Если еще это штука будет уметь отсылать в system DBUS сообщения при изменении некоторых параметров, типа нижеприведенных - будет классно:
1. ядро включил/выключил
2. смена политики
3. смена статуса по питанию (батарея/адаптер, смена уровня заряда батареи - полный/норма/низкий/критический)
4. Что -то типа запроса "А какие возможности ты умеешь" - отключение ядер например, если у меня камень i7
Сие бы позволило с удобством вешать свои обработчики на события, рисовать гуй удобно было бы
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
Я хотел задействовать DBUS,
Я хотел задействовать DBUS, не знаю где найти хорошую документацию по нему.
Много времени займёт.
Сделай вменяемую билд-систему
http://lpmd.git.sourceforge.net/git/gitweb.cgi?p=lpmd/lpmd;a=blob;f=Makefile;h=dac0c837f5add9a02cc6956932aa088d561619b7;hb=HEAD
слишком жестоко.
Сделай вменяемую билд-систему - автотулсы или цмаке было бы хорошо
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 ;)
Можно конечно, но особой
Можно конечно, но особой надобности нет.
Зависимости ebild проверяет, а больше ни каких проверок не требуется.
Мне придется время потратить на изучение автотулс или cmake, ибо ни с тем ни с другим я не знаком.
К тому-же сборка на голом make значительно быстрей.
Многие пакеты тоже собираются на голом make, например procps.
дык хозяин - барин ; только
дык хозяин - барин ; только сборка на маке из procps и ваше отличаются немного тем фактом, что там не захардкожено все подряд навроде
CFLAGS
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 ;)
Так ведь у make можно через
Так ведь у make можно через командную строку переопределять переменные.
make CFLAGS="bla bla bla"
В ebilde я так и сделап.
а где ебилд ? а что про него
а где ебилд ? а что про него говорит репоман и ТоммиД ?
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 ;)
ебилд и инит есть в архиве,
ебилд и инит есть в архиве, но на всякий случай я их здесь покажу
Репоман говорит:
Что такое ТоммиД я, к сожалению, не знаю.
Ебилд кривой - RDEPEND пуст,
Ебилд кривой - RDEPEND пуст, что означает, что по --depclean бусут снесены зависимости.
Страдает синтаксис ебилда, не соотв. GLEP
Init тоже крив - не указаны зависимости, синтаксис устарел.
ТоммиД живет на #gentoo-sunrise ;), там можно попросить проверить ебилд
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 ;)
ебилд переделал, репоман
ебилд переделал, репоман теперь не ругается.
Для init из зависимостей придумал только after modules.
А в чём выражается его устаревший синтаксис?
Я взялся за запихивание lpmd
Я взялся за запихивание lpmd в rion. Возникают вопросы:
* что, прямо так уж неважны версии зависимостей? Даже Lua 5.2 прокатит?
* `newinitd "${FILESDIR}"/lpmd.initd` — если init есть в архиве, зачем ${FILESDIR}?
* почему установку не сделать по-людски, через `make install`?
Предлагаю заглянуть в
и попинать меня.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а):Я
Lua 5.2 прокатит, проверено.
Касательно init как-то само так получилось, я голову особо не ломал, брал другой пакет на образец.
Хочу заменить в архиве на sourceforge init и ebuild
В качестве образца ебилда и
В качестве образца ебилда и пакета на чистом make рекомендую x11-wm/i3
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Я в воскресение займусь
Я в воскресение займусь проектом, сейчас мало свободного времени.
Хорошо, я пока запихнул в
Хорошо, я пока запихнул в rion то, что есть.
Жаль, конечно, что проект не на bitbucket (или в крайнем случае github) живёт. SF им изрядно проигрывает.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask написал(а): Жаль,
Можно даже на google code, теперь git ваш везде есть.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Спасибо за помощь с
Спасибо за помощь с оверлеем.
А чем плох sourceforge?
1. Банально неудобен для
1. Банально неудобен для пользователей.
2. Сложно кооперироваться (никаких там форков и запросов на вливание).
3. Труднее другим следить за изменениями проекта.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Вот что никуда не годится —
Вот что никуда не годится — так это отсутствие документации. И конфиг куц.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Конфиг по умолчанию я сделал
Конфиг по умолчанию я сделал минимальным для понятности и совместимости , в папке контрибуте я выложил свой конфиг для ноутбука dell inspiron N5110 с процессором Core i7-2000 (Sandy Bridge D2), в нём есть детальные комментарии, для того чтобы въехать вполне достаточно.
Документации нету потому, что я не силён в английском, не хочу позорится, да и вообще писанину не люблю.
Кстати awesome вроде тоже документацией не богат.
Я тут версию 0.0.6 выложил, в ней добавлено выключение ядер, можно это обновить в rion? ebuild без изменений
Можно, конечно. А как насчёт
Можно, конечно. А как насчёт обновления системы сборки-то, чтоб make install ставил все нужные файлы, в том числе примерный конфиг.
Вообще без документации мало кто им не будет пользоваться.
awesome документацией не богат? Умолчательный конфиг подробен и откомментирован, куча документации генерируется luadoc'ом, даже wiki есть.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Примерный конфиг можно
Примерный конфиг можно ставить ебилдом без маке, документацию собираюсь писать, но нужно время.
Я наверное достал уже, но в
Я наверное достал уже, но в init скрипте ошибка
вместо start-stop-daemon -u ${USER} -b -m -p /var/run/lpmd.pid
нужно start-stop-daemon -b -m -p /var/run/lpmd.pid
из за этого не стартует при загрузке
Эх. Исправим, как выдастся
Эх. Исправим, как выдастся минутка.
А вообще надо:
1. Переехать на bitbucket.
2. Запихнуть весь contrib в репозиторий (чтоб и на init можно было по-человечески делать заплатки).
3. Освоить `git tags`, и тогда не надо будет ручками паковать новые версии, ориентироваться в истории и т.д.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
А в этой штуке можно
А в этой штуке можно параметрами рулить в зависимости от значения, например, заряда аккума. или температуры?
Допустим, рулить верхней планкой conservative, или ondemand?
И как это делается, если возможно: через дискретные значения диапазонов, или можно через функцию динамику задать?
Например. в текущий момент, у меня подстройка происходит каждые 5% разряда и каждые 5 градусов нагрева свыше 60, такое можно провернуть?
:)
lua - язык программирования,
lua - язык программирования, там все можно )
--Определяем сенсор CPUcpu =
Подробнее о нечёткой логике можно почитать википедии
cpufreq задаётся так
В архиве есть мой конфиг с подобными комментариями.
весьма впечатляет. Ещё
весьма впечатляет.
Ещё интересует насколько вы смогли абстрагироваться от железа и sysfs. Иными словами интересует насколько развитым API обладает эта штука? Хотелось бы избежать необходимости сочинять свои функции для вызова сторонних программ и/или работы непосредственно с sysfs для получения/задания тех или иных параметров, типа смены гувернера, частотных диапазонов в поддерживающих такое гувернерах, наличия электропитания, состояния аккума, температуры проца и тд., иначе сие будет ничем не лучше наколенного скрипта который способен наваять любой более-менее искушенный линуксоид.
:)
Запуск сторонних программ я,
Запуск сторонних программ я, к сожалению, не реализовал ещё, но собираюсь сделать это.
Из датчиков есть возвращающие нечеткое значение:
sensor (fuzzy, sensor)
cputime (fuzzy)
battery (fuzzy) или battery (fuzzy, battery)
возвращающие boolean:
process (...) - находит запущенные процессы
onAc () - проверяет сетевой адаптер
Действия:
cpufreq (...) - меняет cpufreq полицию
cpuon (...) - включает или выключает ядра
Еще есть вспомогательные и управляющие программой функции.
Всё это реализовано на си.
Можно ещё плавно управлять вентиляторами, используя нечёткое значение, но у меня нет оборудования поддерживающего управление вентиляторами, и возможности попробовать нет. В примере я написал как это сделать на lua.
Я что-то пропустил, с каких
Я что-то пропустил, с каких пор fuzzy() появилось в Lua? :)
И да, про сторонние программы: а что там реализовывать-то? :) Взял, сделал в lua-песочнице алиас на os.execute (можно в coroutine'е, чтобы не висеть) перел очисткой окружения и всего делов.
Хотя можно и на сях реализовать...
fuzzy тоже я сделал, она
fuzzy тоже я сделал, она просто создаёт lua_userdata со структурой, и в этой структуре сохраняет четыре double параметра. Выше я не описывал вспомогательные функции.