Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/9 Artem Chuprina r...@ran.pp.ru:
 Как я понял, тут несколько строк на Си, да только для этих нескольких
 строк надо очень много. Например, как собрать результат так, чтобы он
 действительно мог исполняться в качестве init, и какие системные
 вызовы (ядерные?) можно при этом использовать. А также как получить
 PID от init и успеть его запихнуть в /dev/cpuset/system_cpuset/tasks
 _до_ того, как init спаунит другие процессы...

 PID init'а равен 1.

Смысл в том, что эта штука должна запускаться _вместо_ init (с PID 1),
создавать cpuset и запихивать в него настоящий init. Но я уже понял,
что ей достаточно сначала запихнуть в этот cpuset себя, а потом -
вызывать init. Для запмуска самой штуки используется параметр ядра
init=...

Но я категорически не представляю себе, что можно, а что нельзя
делать, будучи на месте init. Главный вопрос - у меня есть libc6 или у
меня её нет? Если есть - то эта штука собирается более-менее обычно и
работает более-менее обычно.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Victor Wagner
On 2011.09.09 at 11:17:08 +0100, Mikhail Ramendik wrote:

  PID init'а равен 1.
 
 создавать cpuset и запихивать в него настоящий init. Но я уже понял,
 что ей достаточно сначала запихнуть в этот cpuset себя, а потом -
 вызывать init. Для запмуска самой штуки используется параметр ядра
 init=...

Ага - вызвать init посредством exec, заместив им себя в текущем
процессе.

 
 Но я категорически не представляю себе, что можно, а что нельзя
 делать, будучи на месте init. Главный вопрос - у меня есть libc6 или у

Все что угодно.

 меня её нет? Если есть - то эта штука собирается более-менее обычно и

Сделай ldd /sbin/init

 работает более-менее обычно.

Я вообще на своих X-терминалах shell-овский скрипт в качестве init
использую. Прекрасно работаает. А все потому что мне лень было busybox
пересобирать, а в той версии debian-а на которой я терминал собирал, 
в busybox init не собрали (хотя вообще-то он там есть).



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909111740.ga10...@wagner.pp.ru



openvpn и replay

2011-09-09 Пенетрантность Ed
стоит у меня openvpn сервер и периодически в логах появляются подобные 
сообщения:


 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ 
#1 / time = (1315567947) Fri Sep  9 15:32:27 2011 ] -- see the man page 
entry for --no-replay and --replay-window for more info or silence this 
warning with --mute-replay-warnings


(дальше идут такие же предупреждения с #2, #3, ...)

при этом клиент отваливается.
перезапуск сервера решает проблему.


вопрос: что происходит и как бороться?

как я понимаю, клиентский openvpn был перезапущен, поэтому он заново 
послал пакет с #1, чего сервер испугался replay наверное.


но при этом перезапуск клиента в общем-то штатная ситуация и обычно не 
приносит проблем. специально воспроизвести проблему не получается.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a00f9.3020...@yandex.ru



Re: Есть ли в Linux/Debian генераторы сканов российских паспортов?

2011-09-09 Пенетрантность Ed

On 09/06/11 14:05, Anton Kovalenko wrote:

..Кроме того, есть идея заняться софтиной, чтобы отличала фальшивые
сканы от настоящих.


любопытно - как?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a05b1.3010...@yandex.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/9 Victor Wagner vi...@wagner.pp.ru:

 Я вообще на своих X-терминалах shell-овский скрипт в качестве init
 использую. Прекрасно работаает.

Хочу подробностей. ОЧЕНЬ хочу.

На шелле то, что я хочу, пишется без проблем. Вот оно:

#!/bin/sh
/bin/mkdir /dev/cpuset
/bin/mount -t cpuset - /dev/cpuset
/bin/mkdir /dev/cpuset/syscpuset
/bin/echo 0 /dev/cpuset/syscpuset/cpus
/bin/echo $$ /dev/cpuset/syscpuset/tasks
/sbin/init

Специально указал полные пути, исходя из того, что у нас ещё нет $HOME
и поэтому шелл не инициализируется вообще никак.

Но. Как в параметре ядра init указать нечто с параметрами?
init=/bin/sh /bin/cpuset-hack, что ли?

Запуск mplayer после этого я, если я правильно понял, сделаю просто...

#!/bin/sh
rxvt -e mplayer -lavdopts=2 ... 
sudo echo `pidof mplayer`  /dev/cpuset/tasks

(Ну, реально ради безопасности вторая строка будет запуском отдельного
скрипта, чтобы именно его прописать в SUDOERS, но это уже не к той
теме).

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Victor Wagner
On 2011.09.09 at 13:37:30 +0100, Mikhail Ramendik wrote:

 2011/9/9 Victor Wagner vi...@wagner.pp.ru:
 
  Я вообще на своих X-терминалах shell-овский скрипт в качестве init
  использую. Прекрасно работаает.
 
 Хочу подробностей. ОЧЕНЬ хочу.

Нет никаких подробностей. Просто работает.

 На шелле то, что я хочу, пишется без проблем. Вот оно:
 
 #!/bin/sh
 /bin/mkdir /dev/cpuset
 /bin/mount -t cpuset - /dev/cpuset
 /bin/mkdir /dev/cpuset/syscpuset
 /bin/echo 0 /dev/cpuset/syscpuset/cpus
 /bin/echo $$ /dev/cpuset/syscpuset/tasks
 /sbin/init

Последняя строчка должна быть exec /sbin/init
Чтобы процесс не форкался, а замещал шелл инитом.


 Специально указал полные пути, исходя из того, что у нас ещё нет $HOME
 и поэтому шелл не инициализируется вообще никак.

Оно от рута работает. А /root у нас уже есть. И /etc уже есть.
А вообще можно в начале скрипта написать PATH=/bin:/sbin

Далее, /bin/echo ты используешь зря. В большинстве шеллов есть
встроенная команда echo. 


 Но. Как в параметре ядра init указать нечто с параметрами?
 init=/bin/sh /bin/cpuset-hack, что ли?


Да не нужно тебе /bin/sh. Просто объяви cpuset-hack исполняемым.

#!/bin/sh 

отрабатывается ядром, и оно вполне справится с поиском интерпретатора и
в данном случае.

И лучше все-таки эту штуку держать не в /bin, а в /sbin


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909125318.ga12...@wagner.pp.ru



Re: openvpn и replay

2011-09-09 Пенетрантность Victor Wagner
On 2011.09.09 at 16:05:13 +0400, Ed wrote:

 стоит у меня openvpn сервер и периодически в логах появляются
 подобные сообщения:
 
  Authenticate/Decrypt packet error: bad packet ID (may be a replay):
 [ #1 / time = (1315567947) Fri Sep  9 15:32:27 2011 ] -- see the man
 page entry for --no-replay and --replay-window for more info or
 silence this warning with --mute-replay-warnings
 
 (дальше идут такие же предупреждения с #2, #3, ...)
 
 при этом клиент отваливается.
 перезапуск сервера решает проблему.
 
 
 вопрос: что происходит и как бороться?

В сообщении написано прочитайте раздел  man-страницы про опции
--no-replay и --replay-window.

 
 как я понимаю, клиентский openvpn был перезапущен, поэтому он заново
 послал пакет с #1, чего сервер испугался replay наверное.

Абсолютно неверное представление. OpenVPN достаточно хитрая софтина,
чтобы для идентификаторов пакетов использовать нечто отличное от
простого порядкового номера.

Скорее всего действительно прилетает дубль пакета. Из-за каких-нибудь
сетевых проблем. Или пакеты по дороге перепутываются и приходят не в том
порядке (что вполне нормально. Ненормально то, что за заданное по
умолчанию количество пакетов и секунд не удается собрать правильную
цепочку).

Если игры с --replay-window не приведут к успеху, можно
попробовать использовать openvpn в tcp-режиме вместо udp. Тогда
сборкой пакетов в правильной последовательности будет заниматься ядро, а
не openvpn. Но это приведет к потерям производительности.

Впрочем, лучше работающий медленно, чем зависающий канал.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909130033.gb12...@wagner.pp.ru



Re: openvpn и replay

2011-09-09 Пенетрантность Ed

On 09/09/11 17:00, Victor Wagner wrote:

On 2011.09.09 at 16:05:13 +0400, Ed wrote:



как я понимаю, клиентский openvpn был перезапущен, поэтому он заново
послал пакет с #1, чего сервер испугался replay наверное.


Абсолютно неверное представление. OpenVPN достаточно хитрая софтина,
чтобы для идентификаторов пакетов использовать нечто отличное от
простого порядкового номера.

Скорее всего действительно прилетает дубль пакета. Из-за каких-нибудь
сетевых проблем. Или пакеты по дороге перепутываются и приходят не в том
порядке (что вполне нормально. Ненормально то, что за заданное по
умолчанию количество пакетов и секунд не удается собрать правильную
цепочку).


такое объяснение первым приходит в голову, но нет же - проверил логи, 
проблемы начинаются с #1.


сейчас заметил такую приписку в man:
In Static Key mode or when using an CFB or OFB mode cipher, OpenVPN uses 
a 64 bit unique identifier that combines a time stamp with an 
incrementing sequence number.


у меня как раз static key mode.

возможно что-то с таймштампом на виндовых клиентах? (такое ощущение, что 
проблемы только с ними)

например служба перезапскается два раза за одну секунду.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a1221.5060...@yandex.ru



Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Тоха

такая вот беда
http://paste.org.ru/?9sk9c2
это я туплю или что-то не так? :)
буду благодарен за адекватность и помощь


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a4c02.9010...@ukr.net



Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Andrey Rahmatullin
On Fri, Sep 09, 2011 at 08:25:22PM +0300, Тоха wrote:
 такая вот беда
 http://paste.org.ru/?9sk9c2
 это я туплю или что-то не так? :)
 буду благодарен за адекватность и помощь
apt-cache policy

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Lord

09/09/2011 09:12 PM, Andrey Rahmatullin пишет:

On Fri, Sep 09, 2011 at 08:25:22PM +0300, Тоха wrote:

такая вот беда
http://paste.org.ru/?9sk9c2
это я туплю или что-то не так? :)
буду благодарен за адекватность и помощь

apt-cache policy


http://paste.org.ru/?8vwbwg
или нужно было посмотреть какой-то пакет конкретно ?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a5c77.40...@gmail.com



Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Sergei Golovan
2011/9/9 Тоха antondeadl...@ukr.net:
 такая вот беда
 http://paste.org.ru/?9sk9c2
 это я туплю или что-то не так? :)
 буду благодарен за адекватность и помощь

Новая версия пакета upower не ставится (зависимости сломаны, см.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641015). apt-get
отказался обновлять, aptitude изо всех сил пытается удовлетворить твое
пожелание (об апгрейде). Но после обновления upower появляются
неразрешенная жесткая зависимость. Вот и приходится сносить пакеты до
тех пор, пока зависимости не удовлетворятся.

В багтрекер хорошо бы заглядывать до того, как спрашивать у кого попало...

Cheers!
-- 
Sergei Golovan


Re: Помогите настроить GRUB2!

2011-09-09 Пенетрантность Paul Carroty
Mon, 5 Sep 2011 15:32:33 +0600
Sergey Korobitsin underta...@arta.kz написав:

 ultra.rapid ☫ → To debian-russian@lists.debian.org @ Mon, Sep 05,
 2011 13:06 +0400
 
  Совершенно непонятная ерунда! Когда устанавливал Debian 6.0.2, то в
  конце установки, как обычно, появилось сообщение с вопросом о том,
  куда нужно установить загрузчик системы. Было написано, что на
  компьютере была найдена еще одна система - Windows. Если это все
  системы, установленные на компьютере, можете смело устанавливать
  загрузчик в MBR. При загрузке сможете выбрать нужную операционную
  систему. Что я и сделал.
  Вот только одна проблема.. :) При загрузке теперь кроме Debian
  ничего нет. В Debian 6.0.2 нет файла /boot/grub/menu.list, который
  я собрался уже редактировать. Винда стоит на /dev/sda1. 
  Как добавить её в загрузку???
 
 Как-то так:
 
  aptitude install os-prober  update-grub
 

# update-grub2


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110907032419.7a393...@debian.beeline.ua



Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Lord

09/09/2011 10:09 PM, Sergei Golovan пишет:

2011/9/9 Тохаantondeadl...@ukr.net:

такая вот беда
http://paste.org.ru/?9sk9c2
это я туплю или что-то не так? :)
буду благодарен за адекватность и помощь

Новая версия пакета upower не ставится (зависимости сломаны, см.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641015). apt-get
отказался обновлять, aptitude изо всех сил пытается удовлетворить твое
пожелание (об апгрейде). Но после обновления upower появляются
неразрешенная жесткая зависимость. Вот и приходится сносить пакеты до
тех пор, пока зависимости не удовлетворятся.

В багтрекер хорошо бы заглядывать до того, как спрашивать у кого попало...

Cheers!

Спасибо большое.
На багтрекер не глядел, ибо таких проблем еще не было, познаний в этой 
области нет.

Вот будет теперь экспирианс :)


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e6a665b.3060...@gmail.com



Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Paul Carroty
Fri, 09 Sep 2011 20:25:22 +0300
Тоха antondeadl...@ukr.net написав:

 такая вот беда
 http://paste.org.ru/?9sk9c2
 это я туплю или что-то не так? :)
 буду благодарен за адекватность и помощь
 
 

Сегодня сломали зависимости upower в sid`е, может и не только в нем.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110907033308.75097...@debian.beeline.ua



Re: Помогите настроить GRUB2!

2011-09-09 Пенетрантность Andrey Rahmatullin
On Wed, Sep 07, 2011 at 03:24:19AM +0300, Paul Carroty wrote:
   aptitude install os-prober  update-grub
 # update-grub2
Нет, всё верно.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Апдейт предлагает удалить гном О_о

2011-09-09 Пенетрантность Andrey Rahmatullin
On Fri, Sep 09, 2011 at 09:35:35PM +0300, Lord wrote:
 такая вот беда
 http://paste.org.ru/?9sk9c2
 это я туплю или что-то не так? :)
 буду благодарен за адекватность и помощь
 apt-cache policy
 http://paste.org.ru/?8vwbwg
зачем стейбл и сид одновременно?

-- 
WBR, wRAR


signature.asc
Description: Digital signature


udisks и права на монтирование\

2011-09-09 Пенетрантность 375gnu

Предистория. Нет у меня новомодных ДЕ, а вот юсб-флешки есть, и стало мне
лениво всякий раз в терминале писать pmount /dev/то-что-надо, захотел
автоматически. 

Apt-cache рассказал о таком звере, как udisks-glue. Поставил, настроил и
возрадовался, ибо всё работало как надо, и, в отличие от pmount, можно задавать
опции для mount.

Но прошло пару дней, и огорчился я зело, ибо перестала шайтан-программа
работать, непозволено, говорит мне такими делами заниматься. Вот, например:

$ udisks-glue -sf
Running within session context: /org/freedesktop/ConsoleKit/Session1
Device file /dev/sdc inserted
Device file /dev/sdc1 inserted
Trying to automount /dev/sdc1...
Failed to automount /dev/sdc1: Not Authorized

Ключик -s на ситуацию не влияет.

Посмотрел я мудрость волхвов из udisks-doc, policykit-1-doc и наваял такой вот
файлик (/etc/polkit-1/localauthority.conf.d/99-udisks.conf):

[Configuration]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks.filesystem-mount
ResultAny=no
ResultInactive=no
ResultActive=yes


Но ничего не поменялось.

Поможите, люди добрые, шайтана новомодного одужать!

-- 
 http://375gnu.wordpress.com


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909193201.GA22594@deneb



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/9 Victor Wagner vi...@wagner.pp.ru:

 На шелле то, что я хочу, пишется без проблем. Вот оно:
 Последняя строчка должна быть exec /sbin/init
 Чтобы процесс не форкался, а замещал шелл инитом.

Ага. И ещё потребовалось echo 0 /dev/cpuset/syscpuset/mems . После
этого оно заработало. Но куча задач осталась неперекинутой, поскольку
запускаются помимо init (включая kswapd0, в котором у меня oops'ы
были).

Я обнаружил, что лишнее перекинуть просто нельзя - на некоторые задачи
echo $pid /dev/cpuset/syscpuset/tasks даёт write error. Но поскольку
перекидывать надо по одной строке, я не смог сделать это на шелле.
Сейчас у меня работает такое решение:

в ядре init=/sbin/cpuset-hack

файл /sbin/cpuset-hack , permissions 744 чтобы случайно не запустить:

#!/bin/sh
/bin/mkdir /dev/cpuset
/bin/mount -t cpuset - /dev/cpuset
/bin/mkdir /dev/cpuset/syscpuset
echo 0 /dev/cpuset/syscpuset/cpus
echo 0 /dev/cpuset/syscpuset/mems
echo $$ /dev/cpuset/syscpuset/tasks
/sbin/cpuset-hack-python.py
exec /sbin/init

файл /sbin/cpuset-hack-python.py , permissions 744 по той же причине:

#!/usr/bin/python
f=open(/dev/cpuset/tasks)
tasks=f.readlines()
f.close()

for task in tasks:
  try:
f=open(/dev/cpuset/syscpuset/tasks,w)
f.write(task)
f.close()
  except IOError:
pass

Я конечно вижу, что это грязно, в общем случае на /usr нельзя
рассчитывать и надо на Си писать, но влом. Или этот же эффект как-то
достигается на shell+busybox?

И запуск mplayer нашёлся способ сделать (чуть хитрее чем я тут писал -
сначала отдать PID шелла в /dev/cpuset/tasks через sudo-скрипт, а
потом запустить из этого шелла mplayer).

А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно,
если выяснится что весь этот хак не работает, а isolcpus работает.

И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь,
подмонтирован только корень и тот read only.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 01:32:24AM +0100, Mikhail Ramendik wrote:
 
 А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
 которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
 пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
 он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно,
 если выяснится что весь этот хак не работает, а isolcpus работает.

Это процессы в контексте ядра. Типично у них используемая память равна 0

 
 И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь,
 подмонтирован только корень и тот read only.

hello.c:

#include linux/module.h
#include linux/kernel.h

int init_module(void)
{
printk(KERN_INFO Hello world\n);
return 0;
}

void cleanup_module(void)
{
printk(KERN_INFO Goodbye world\n);

}

Makefile:

obj-m += hello.o

all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910005307.gb6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Иван Лох l...@1917.com:

 А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
 которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
 пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
 он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно,
 если выяснится что весь этот хак не работает, а isolcpus работает.

 Это процессы в контексте ядра. Типично у них используемая память равна 0

И узнать, какой процесс как называется, никак нельзя? А то kswapd0
вроде тоже в контексте ядра должен быть, а top знает как его зовут.


 И ещё вопрос - а как мне в dmesg вякнуть? А то в лог не попишешь,
 подмонтирован только корень и тот read only.

 hello.c:

 #include linux/module.h
 #include linux/kernel.h

Стоп, это модуль для ядра? А то у меня-то userland процесс, пусть и
вместо init. Не хочу в ядерный контекст, без него страшно. Но
оставить след хоть в каких-то логах (не dmesg так ещё что-нибудь)
хотелось бы.



-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 01:58:27AM +0100, Mikhail Ramendik wrote:
 2011/9/10 Иван Лох l...@1917.com:
 
  А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
  которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
  пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
  он. Как мне-то узнать? Гугль не помог :( Особенно это будет важно,
  если выяснится что весь этот хак не работает, а isolcpus работает.
 
  Это процессы в контексте ядра. Типично у них используемая память равна 0
 
 И узнать, какой процесс как называется, никак нельзя? А то kswapd0
 вроде тоже в контексте ядра должен быть, а top знает как его зовут.

ps aux -- те, что в квадратных скобках

  #include linux/module.h
  #include linux/kernel.h
 
 Стоп, это модуль для ядра? А то у меня-то userland процесс, пусть и

Пока syslog не запущен то printk только так. А потом можно logger


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910010404.gc6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 05:04:04AM +0400, Иван Лох wrote:
 
 ps aux -- те, что в квадратных скобках

То есть, конечно, в скобках все те у которых нет args...
Это могут и процессы запущенные через pipe быть, например


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910011122.gd6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 05:11:22AM +0400, Иван Лох wrote:
 On Sat, Sep 10, 2011 at 05:04:04AM +0400, Иван Лох wrote:
  

/proc/*/comm


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910011546.ge6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Иван Лох l...@1917.com:

 И узнать, какой процесс как называется, никак нельзя? А то kswapd0
 вроде тоже в контексте ядра должен быть, а top знает как его зовут.

 ps aux -- те, что в квадратных скобках

Нагуглил другой способ - спасибо за ключевые слова, без них не нагуглилось.

cat /proc/$pid/status | grep name

 Пока syslog не запущен то printk только так. А потом можно logger

У меня вместо init, значит printk. Значит Си. Я пока пытаюсь Сей
избежать, так что обойдусь :) Хотя если где-нибудь есть исходник, из
коего можно сделать /bin/printk...

При помощи простенького питонного скрипта с os.system() я узнал, какие
же процессы у меня остались не в новом cpuset:

Name:   migration/0
Name:   ksoftirqd/0
Name:   watchdog/0
Name:   migration/1
Name:   ksoftirqd/1
Name:   watchdog/1
Name:   events/0
Name:   events/1
Name:   kintegrityd/0
Name:   kintegrityd/1
Name:   kblockd/0
Name:   kblockd/1
Name:   kondemand/0
Name:   kondemand/1
Name:   aio/0
Name:   aio/1
Name:   crypto/0
Name:   crypto/1
Name:   ata/0
Name:   ata/1

Для сравнения:


$ cat /proc/31/status | grep Name
Name:   kswapd0

Таким образом, /0  или /1 это такие CPU affinity. Это подтверждается
просмотром полного /proc/$pid/status - там есть пункт
Cpus_allowed_list и в нём для данных процессов указан 0 или 1.

Более того. Точно такие же процессы имеются при isolcpus=1 - и для CPU
1 тоже. Значит, мне удалось полностью реплицировать isolcpus на
cpusets.

Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
решение на Сях, уонфиг ему сделать - и закинуть в LKML как
уж-совсем-полный аналог isolcpus?

Ладно, это потом, сначала узнаем, пропадут ли зависы. Пока погонял
сколько-то с no_hz=off - не зависло, а обычно с ним висло быстро...

(И кстати, если пропадут - стоит ли пытаться искать баг, возвращая
задачи на оба процессора? Или заработало - и ладно? Или можно так:
заработало - и ладно, но написать в ЖЖ на английском и русском
решение, чтобы следующие напоровшиеся смогли его найти?)

Кстати, всем огромное спасибо - я бы не добрался до столь странного
решения без КУЧИ подсказок.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 02:28:26AM +0100, Mikhail Ramendik wrote:
 
 Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
 хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
 решение на Сях, уонфиг ему сделать - и закинуть в LKML как
 уж-совсем-полный аналог isolcpus?

Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910014419.gf6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Иван Лох l...@1917.com:

 Прикол в том, что на эту тему нагуглился разговор в LKML, там isolcpus
 хотели отменить, но нашлись юзеры, его применяющие. Вот переписать моё
 решение на Сях, уонфиг ему сделать - и закинуть в LKML как
 уж-совсем-полный аналог isolcpus?

 Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??

Нет такой опции в командной строке. Это в исходник лезть. А там
непростой исходник. К тому же он регулярно обновляется и я не хотел бы
устраивать личный форк.

(А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
не потяну).

Установка affinity на два СPU для процесса mplayer - не помогает. Либо
на один, либо на другой, но не на оба. Вот такая неприятная штука
isolcpus.

Я гуглил, у людей была похожая задача. Примерно так: isolcpus 1-3,
надо было сделать процесс load balanced между CPU 2 и CPU 3. Ответ был
- не используйте isolcpus, используйте cpuset.

Однако, это уже решили. При использовании cpuset проблемы просто нет.
Ну, sudo требуется, но это дело штатное. (Хотя более корректно было бы
играть с правами доступа на файл tasks, но какая уж тут корректность
если я на /usr/bin/python рассчитываю при запуске init).

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Иван Лох
On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote:
 2011/9/10 Иван Лох l...@1917.com:
 
  Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??
 
 Нет такой опции в командной строке. Это в исходник лезть. А там
 непростой исходник. К тому же он регулярно обновляется и я не хотел бы
 устраивать личный форк.
 
 (А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
 не потяну).

Это скорее надо с LD_PRELOAD загружать библиотеку, которая fork() и clone()
слегка модифицирует.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910020354.gg6...@nano.ioffe.rssi.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Иван Лох l...@1917.com:
 On Sat, Sep 10, 2011 at 02:55:45AM +0100, Mikhail Ramendik wrote:
 2011/9/10 Иван Лох l...@1917.com:
 
  Но все-таки. А почему нельзя поменять affinity у одной из нитей mplayer??

 Нет такой опции в командной строке. Это в исходник лезть. А там
 непростой исходник. К тому же он регулярно обновляется и я не хотел бы
 устраивать личный форк.

 (А сделать настоящий патч, с новой опцией и её разбором, я пожалуй что
 не потяну).

 Это скорее надо с LD_PRELOAD загружать библиотеку, которая fork() и clone()
 слегка модифицирует.

Можно, но так как получилось - явно проще. (А что грязно - так
переписать с shell+python на pure C будет быстреею чем библиотеку
сочинять).


-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Mikhail Ramendik m...@ramendik.ru:
 Можно, но так как получилось - явно проще.

Кажется, можно совсем красиво сделать. Но нужна подсказка по деталям.

А именно - через некоторое время после логина (производимого при
помощи kdm) юзерский процесс сразу отправить в /dev/cpuset/tasks,
чтобы всем юзерским задачам дать два процессора.

При этом, сам X сервер должен остаться где был, на одном процессоре.
Но я посмотрел в top - он от рута работает.

Вопрос в том, куда это поставить. Чьими детьми будут все процессы,
запускаемые самим юзером (именно при логине через kdm, консоль/ssh не
рассматриваем)? И в какой скрипт это, соответственно, вставить?

Сам вроде бы догадываюсь до Xsession (положить скрипт в
/etc/X11/Xsesson.d - они вроде бы выполняются не exec, а source, и
потому в  $$ там толжен быть pid как раз сессии). Но - сработает ли? И
точно ли это выполняется уже от юзера и не имеет отношения к запуску
самого сервера? Я попросту не понял этого из манов.

Кроме того, гугль вроде бы подсказывает, что поскольку используется
kdm - править придётся /etc/kde4/kdm/Xsession. Или всё-таки
/etc/X11/Xsession.d сработает?

А то получается шанс прозрачно решить проблему. Хотя и не факт, что
получится, но уж больно приятный выходит вариант. Вообще без потери
удобства и производительности - просто загнали всю систему на CPU0.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Victor Wagner
On 2011.09.10 at 02:28:26 +0100, Mikhail Ramendik wrote:

 2011/9/10 Иван Лох l...@1917.com:
 
  И узнать, какой процесс как называется, никак нельзя? А то kswapd0
  вроде тоже в контексте ядра должен быть, а top знает как его зовут.
 
  ps aux -- те, что в квадратных скобках
 
 Нагуглил другой способ - спасибо за ключевые слова, без них не нагуглилось.
 
 cat /proc/$pid/status | grep name
 
  Пока syslog не запущен то printk только так. А потом можно logger
 
 У меня вместо init, значит printk. Значит Си. Я пока пытаюсь Сей

Не слушай ты темных и необразованных людей. Я тоже, когда был молодой и
глупый, пытался ядро патчить для решения задач, к которым существуют
userspace решения.

Всего-то что тебе надо - это где-то прикопать некоторое количество
информации до тех пор, пока не появится возможность тем или иным
способом записать его в файловую систему. Совершенно необязательно,
кстати, это делать через syslog. Можно просто файлик в /var/log открыть,
после того как /var будет смонтирован read-write.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910042250.ga32...@wagner.pp.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Victor Wagner
On 2011.09.10 at 03:14:57 +0100, Mikhail Ramendik wrote:

 Можно, но так как получилось - явно проще. (А что грязно - так
 переписать с shell+python на pure C будет быстреею чем библиотеку
 сочинять).

Совершенно не факт. Библиотек это ни разу не rocket science. Это такой
же исходник на pure C.

Ну и то, что ты делаешь на python тоже прекрасно делается на shell.

Есть в нем и read и for, и while


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110910042432.gb32...@wagner.pp.ru



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Victor Wagner vi...@wagner.pp.ru:
 Всего-то что тебе надо - это где-то прикопать некоторое количество
 информации до тех пор, пока не появится возможность тем или иным
 способом записать его в файловую систему. Совершенно необязательно,
 кстати, это делать через syslog. Можно просто файлик в /var/log открыть,
 после того как /var будет смонтирован read-write.

Так мой процесс, маленький совсем, запускается _до_ монтирования чего-либо RW.

Я пока без логгинга обойдусь, но неприятно.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Victor Wagner vi...@wagner.pp.ru:

 Ну и то, что ты делаешь на python тоже прекрасно делается на shell.

 Есть в нем и read и for, и while

Мне нужно следующее:

- Считать содержимое /dev/cpuset/tasks в массив, по строчкам. И больше
этот файл не трогать совсем. Массив должен быть в памяит (больше
негде, файлова система read only)

- Каждой строке массива отдельно сделать echo $string
/dev/cpuset/syscpuset/tasks . Ошибки игнорировать.

Я не смог нагуглить, как сделать это шеллом. Поэтому и сделал питоном.

Если шеллом можно сделать _это_, может им можно и конфиг разобрать? В
этом случае даже production решение (для публикации) можно делать на
шелле. Особенно если независимо от того сделать /sbin/kprint для
выкидывания чего-нибудь в dmesg.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Victor Wagner vi...@wagner.pp.ru:
 On 2011.09.10 at 03:14:57 +0100, Mikhail Ramendik wrote:

 Можно, но так как получилось - явно проще. (А что грязно - так
 переписать с shell+python на pure C будет быстреею чем библиотеку
 сочинять).

 Совершенно не факт. Библиотек это ни разу не rocket science. Это такой
 же исходник на pure C.

Ага, но там придётся алгоритм для load balancing придумывать. Этот
тред туда, а этот сюда. А зачем, когда оно в ядре уже есть? Ты же сам
против того чтобы делать работу, которая уже сделана.

Решение через cpuset позволяет обойтись _тривиальным_ кодом. То есть,
если бы не моя отсталость от нынешнего C, то проблем бы не было вовсе,
а так - ну, грязновато вышло, но для проверки сойдёт. Может ведь и не
помочь.

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Artem Chuprina
 #!/usr/bin/python
 f=open(/dev/cpuset/tasks)
 tasks=f.readlines()
 f.close()
 
 for task in tasks:
   try:
 f=open(/dev/cpuset/syscpuset/tasks,w)
 f.write(task)
 f.close()
   except IOError:
 pass
 
 Я конечно вижу, что это грязно, в общем случае на /usr нельзя
 рассчитывать и надо на Си писать, но влом. Или этот же эффект как-то
 достигается на shell+busybox?


for task in `cat /dev/cpuset/tasks`
do
echo $task  /dev/cpuset/syscpuset/tasks
done

Правда, я не смог посмотреть, что там пишется - у меня такого файла нет.  Если
в /dev/cpuset/tasks больше одного слова на задачу, то надо более тщательно
строить цикл.

 А теперь вопрос - как бы мне выяснить, что это у меня за 20 задач,
 которые не переносятся? Проверил у нескольких /proc/$pid/cmdline -
 пусто. Но там и у kswapd0 пусто, а top как-то знает, что это именно
 он. Как мне-то узнать?

/proc/$PID/stat

 Гугль не помог :( Особенно это будет важно,
 если выяснится что весь этот хак не работает, а isolcpus работает.

Скорее всего, треды ядра.  К которым, собственно, относится и kswapd.

-- 
Если ты не боишься синего экрана, то почему боишься черного?
 -- Д.Белявский


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ty8lng8l.wl%...@ran.pp.ru



Испания ближе чем Вы думаете

2011-09-09 Пенетрантность Вячеслав Комаров
 Испания - замечательная страна. У нее есть и море, и солнце, много вкусных 
фруктов и морепродуктов, здесь сосредоточены известные памятники истории и 
архитектуры. А что касается покупки недвижимости в Испании, то это своеобразный 
пропуск в еврозону, что, согласитесь, весьма заманчивая перспектива. 
Недвижимость - повод для получения мультивизы на пребывание в стране в течение 
180 дней по 90 дней в полгода. А также возможность обретения вида на жительство 
при условии, если собственник открывает свой бизнес в Испании или инвестирует 
средства в какой-либо проект на ее территории.
 
Предлагаем купить недвижимость в Испании - это престижно и выгодно!
  
Почему это лучше сделать именно с нами? 

Вы не платите комиссионные. С вами будет работать рускоговорящий  сотрудник 
крупной испанской фирмы, как на этапе ознакомления, так и непосредственно при 
показе объектов.
  
Мы полностью оформим пакет документов на покупку недвижимости в Испании , а 
также поможем получить кредит в испанском банке. 
  
Мы всегда в Вашем распоряжении, и до и после заключения сделки проконсультируем 
по юридическим и бытовым вопросам, посоветуем, где и как интересно провести 
время, поможем решить любые проблемы во время Вашего пребывания в Испании, 
связанные с покупкой недвижимости
   
Тел: 8 9O6 727 66 41
 


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/11p5sq-3jzey0...@wonderware.com



Re: Динамически включать-выключать CPU

2011-09-09 Пенетрантность Mikhail Ramendik
2011/9/10 Victor Wagner vi...@wagner.pp.ru:

 Не слушай ты темных и необразованных людей. Я тоже, когда был молодой и
 глупый, пытался ядро патчить для решения задач, к которым существуют
 userspace решения.

Вот сейчас я хочу найти, надеюсь, пока что последнее решение для тго
конкретного набора (дальше - тестирование).

А именно - как мне произвести нужную операцию для процесса, который
породит все _юзерские_ процессы после логина. Но не рутовые, например
не X сервер.

В Xsession что ли, и если да - какой у дебиановского kdm Xsession?

Я хочу попробовать дать этому процессу оба процессора ( грубо говоря,
sudo echo $$ /dev/cpuset/tasks - реально это будет вызываемый по sudo
скрипт с pid в качестве $1). Оставив при этом все системные/рутовые
процессы на одном СPU 0.

Если систему завешивает какой-то конкретный кривой процесс, а не
scheduler, то этого должно быть достаточно для борьбы с зависанием.
Более того, если CPU 1 битое аппаратно - насколько я понимаю тоже,
поскольку нерутовое приложение систему не вешает, а из проблем умеет
либо процессор загружать, либо падать.

(А что касается mplayer - так ему я ещё и nice -2 хочу дать, если с
безопасностью справлюсь. Чтобы он успешно играл фильмы, требующие
всего процессора, когда загружен iceweasel и отжирает процентов 40-50
одного ядра).

-- 
Yours, Mikhail Ramendik

Unless explicitly stated, all opinions in my mail are my own and do
not reflect the views of any organization


[BTS#640945] po-debconf://libguestfs/ru.po

2011-09-09 Пенетрантность Yuri Kozlov
Hello.
-- 
Best Regards,
Yuri Kozlov


-- 
To UNSUBSCRIBE, email to debian-l10n-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909172215.6df31...@keeper.home.local



[BTS#641026] po-debconf://icecast2/ru.po

2011-09-09 Пенетрантность Yuri Kozlov
Hello.
-- 
Best Regards,
Yuri Kozlov


-- 
To UNSUBSCRIBE, email to debian-l10n-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110909202953.21807...@keeper.home.local