Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] Update
@ 2019-06-14  8:12 Alexey Gladkov
  2019-06-14  9:51 ` Leonid Krivoshein
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-14  8:12 UTC (permalink / raw)
  To: make-initrd

Привет!

Я тут переписал ueventd от слова совсем и как следствие изменились и
эвенты и их обработка. 

ueventd теперь работает немного сложнее:

* Очередей может быть несколько. Их можно создавать и удалять динамически.
* Эвенты в каждой очереди обрабатываются последовательно в блокирующем
  режиме т.е. пока текущий обработчик не завершится следующий вызван не
  будет.
* Эвенты в разных очередях обрабатываются параллельно.
* Эвенты - это всегда файл с значениями вида 'NAME="VALUE"\n'.

Сервер обрабатывает эвенты используя обработчики. Они могут быть написаны
либо на shell, либо на lua (меня отговорили от schema). Для второго случая
действует правило: один файл => один обработчик. В lua-файле должна быть
функция main, которая будет вызвана для каждого эвента. Обработчики можно
добавлять/удалять динамически.

При вызове обработчика эвенты читаются и передаются через переменные
окружения.

Соответственно, поменялись все обработчики. В фиче network каждый
интерфейс обрабатывается параллельно.

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

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-14  8:12 [make-initrd] Update Alexey Gladkov
@ 2019-06-14  9:51 ` Leonid Krivoshein
  2019-06-14 12:29   ` Alexey Gladkov
  0 siblings, 1 reply; 10+ messages in thread
From: Leonid Krivoshein @ 2019-06-14  9:51 UTC (permalink / raw)
  To: make-initrd

Привет!

14.06.2019 11:12, Alexey Gladkov пишет:
> Привет!
>
> Я тут переписал ueventd от слова совсем и как следствие изменились и
> эвенты и их обработка.
>
> ueventd теперь работает немного сложнее:
>
> * Очередей может быть несколько. Их можно создавать и удалять динамически.
> * Эвенты в каждой очереди обрабатываются последовательно в блокирующем
>    режиме т.е. пока текущий обработчик не завершится следующий вызван не
>    будет.
> * Эвенты в разных очередях обрабатываются параллельно.
> * Эвенты - это всегда файл с значениями вида 'NAME="VALUE"\n'.
>
> Сервер обрабатывает эвенты используя обработчики. Они могут быть написаны
> либо на shell, либо на lua (меня отговорили от schema). Для второго случая
> действует правило: один файл => один обработчик. В lua-файле должна быть
> функция main, которая будет вызвана для каждого эвента. Обработчики можно
> добавлять/удалять динамически.
>
> При вызове обработчика эвенты читаются и передаются через переменные
> окружения.

Если через переменные окружения, значит, эвентам должно быть всё равно, 
что в этих файлах и в каком они формате?


> Соответственно, поменялись все обработчики. В фиче network каждый
> интерфейс обрабатывается параллельно.

Больше гонок хороших и разных! :-)


> На моих тестах я получил прирост к скорости, но буду благодарен за
> дополнительное тестирование.

Часть без железа прогоню в эти два выходных -- тогда отпишусь. С железом 
на следующей неделе постараюсь, но пока не обещаю.


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-14  9:51 ` Leonid Krivoshein
@ 2019-06-14 12:29   ` Alexey Gladkov
  2019-06-14 17:58     ` Leonid Krivoshein
  2019-06-15 17:57     ` Leonid Krivoshein
  0 siblings, 2 replies; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-14 12:29 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 14, 2019 at 12:51:59PM +0300, Leonid Krivoshein wrote:
> > При вызове обработчика эвенты читаются и передаются через переменные
> > окружения.
> 
> Если через переменные окружения, значит, эвентам должно быть всё равно, 
> что в этих файлах и в каком они формате?

Эвент-файлы читаются сервером. Так что нет, не всё равно.

> 
> > Соответственно, поменялись все обработчики. В фиче network каждый
> > интерфейс обрабатывается параллельно.
> 
> Больше гонок хороших и разных! :-)

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

Спасибо!

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-14 12:29   ` Alexey Gladkov
@ 2019-06-14 17:58     ` Leonid Krivoshein
  2019-06-16 12:22       ` Alexey Gladkov
  2019-06-15 17:57     ` Leonid Krivoshein
  1 sibling, 1 reply; 10+ messages in thread
From: Leonid Krivoshein @ 2019-06-14 17:58 UTC (permalink / raw)
  To: make-initrd


14.06.2019 15:29, Alexey Gladkov пишет:
> On Fri, Jun 14, 2019 at 12:51:59PM +0300, Leonid Krivoshein wrote:
>>> При вызове обработчика эвенты читаются и передаются через переменные
>>> окружения.
>> Если через переменные окружения, значит, эвентам должно быть всё равно,
>> что в этих файлах и в каком они формате?
> Эвент-файлы читаются сервером. Так что нет, не всё равно.

Просто уточняю для дальнейшего документирования. Здесь видно 
противоречие: всё-таки через переменные окружения или надо сами файлы 
парсить?


> [...]
>>> На моих тестах я получил прирост к скорости, но буду благодарен за
>>> дополнительное тестирование.
>> Часть без железа прогоню в эти два выходных -- тогда отпишусь. С железом
>> на следующей неделе постараюсь, но пока не обещаю.
> Спасибо!

Мы тестируем то же самое задание или надо собирать из твоего мастера?


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-14 12:29   ` Alexey Gladkov
  2019-06-14 17:58     ` Leonid Krivoshein
@ 2019-06-15 17:57     ` Leonid Krivoshein
  2019-06-15 18:42       ` Leonid Krivoshein
  1 sibling, 1 reply; 10+ messages in thread
From: Leonid Krivoshein @ 2019-06-15 17:57 UTC (permalink / raw)
  To: make-initrd


14.06.2019 15:29, Alexey Gladkov пишет:
> On Fri, Jun 14, 2019 at 12:51:59PM +0300, Leonid Krivoshein wrote:
>
>>> На моих тестах я получил прирост к скорости, но буду благодарен за
>>> дополнительное тестирование.
>> Часть без железа прогоню в эти два выходных -- тогда отпишусь. С железом
>> на следующей неделе постараюсь, но пока не обещаю.
> Спасибо!

Взял старую сизифную вирталку с LXDE, обновил rpm, потом apt, затем 
полностью её обновил, собрал локально и в задании #232125 с небольшим 
исправлением твой последний мастер, поставил новый make-initrd. Обновил 
на ядро un-def и получил полностью незагружаемую систему. Долго висела 
именно на Starting ueventd service [FAILED] (с самого начала). Потом 
выдала rdshell.


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-15 17:57     ` Leonid Krivoshein
@ 2019-06-15 18:42       ` Leonid Krivoshein
  2019-06-17  8:30         ` Alexey Gladkov
  2019-06-19 15:50         ` Alexey Gladkov
  0 siblings, 2 replies; 10+ messages in thread
From: Leonid Krivoshein @ 2019-06-15 18:42 UTC (permalink / raw)
  To: make-initrd


15.06.2019 20:57, Leonid Krivoshein пишет:
> Взял старую сизифную вирталку с LXDE, обновил rpm, потом apt, затем 
> полностью её обновил, собрал локально и в задании #232125 с небольшим 
> исправлением твой последний мастер, поставил новый make-initrd. 
> Обновил на ядро un-def и получил полностью незагружаемую систему. 
> Долго висела именно на Starting ueventd service [FAILED] (с самого 
> начала). Потом выдала rdshell.
>

Локализовал по-максимуму. Плимут не влияет, un-def тоже не влияет. С 
2.2.10 проблем нет. Регрессия именно в 2.2.11 уже на старте ueventd. 
Конфиг дефолтный. Сеть специально пока не поднимал. В одном из 
rdsheel'ов отхватил такое:

rdshell: The waiting time expired!
setsid: can't execute '-c': No such file or directory

И больше ни слова. Хотелось бы надеяться, что демоны за консоль 
подрались, но не оно. :-) В принципе shell есть, можно подебажить. 
Загрузка EFI'шная в qemu, если это важно. Могу выгрузить образ initrd, 
если надо.


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-14 17:58     ` Leonid Krivoshein
@ 2019-06-16 12:22       ` Alexey Gladkov
  2019-06-16 17:38         ` Leonid Krivoshein
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-16 12:22 UTC (permalink / raw)
  To: make-initrd

On Fri, Jun 14, 2019 at 08:58:11PM +0300, Leonid Krivoshein wrote:
> Просто уточняю для дальнейшего документирования. Здесь видно 
> противоречие: всё-таки через переменные окружения или надо сами файлы 
> парсить?

Сервер парсит эвент-файл и загружает переменные из него в env хэндлеров.
Этот механизм одинаков как для шелл-скриптов, так и для lua-хэндлеров.
Переменные из эвент-файла будут доступны через env.

> > [...]
> >>> На моих тестах я получил прирост к скорости, но буду благодарен за
> >>> дополнительное тестирование.
> >> Часть без железа прогоню в эти два выходных -- тогда отпишусь. С железом
> >> на следующей неделе постараюсь, но пока не обещаю.
> > Спасибо!
> 
> Мы тестируем то же самое задание или надо собирать из твоего мастера?

Моё задание стухло. Нужно собирать из мастера.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-16 12:22       ` Alexey Gladkov
@ 2019-06-16 17:38         ` Leonid Krivoshein
  0 siblings, 0 replies; 10+ messages in thread
From: Leonid Krivoshein @ 2019-06-16 17:38 UTC (permalink / raw)
  To: make-initrd


16.06.2019 15:22, Alexey Gladkov пишет:
> [...]
> Моё задание стухло. Нужно собирать из мастера.

#232125, но не фурычит.


-- 
Best regards,
Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-15 18:42       ` Leonid Krivoshein
@ 2019-06-17  8:30         ` Alexey Gladkov
  2019-06-19 15:50         ` Alexey Gladkov
  1 sibling, 0 replies; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-17  8:30 UTC (permalink / raw)
  To: make-initrd

On Sat, Jun 15, 2019 at 09:42:27PM +0300, Leonid Krivoshein wrote:
> 
> 15.06.2019 20:57, Leonid Krivoshein пишет:
> > Взял старую сизифную вирталку с LXDE, обновил rpm, потом apt, затем 
> > полностью её обновил, собрал локально и в задании #232125 с небольшим 
> > исправлением твой последний мастер, поставил новый make-initrd. 
> > Обновил на ядро un-def и получил полностью незагружаемую систему. 
> > Долго висела именно на Starting ueventd service [FAILED] (с самого 
> > начала). Потом выдала rdshell.
> >
> 
> Локализовал по-максимуму. Плимут не влияет, un-def тоже не влияет. С 
> 2.2.10 проблем нет. Регрессия именно в 2.2.11 уже на старте ueventd. 
> Конфиг дефолтный. Сеть специально пока не поднимал. В одном из 
> rdsheel'ов отхватил такое:
> 
> rdshell: The waiting time expired!
> setsid: can't execute '-c': No such file or directory
> 
> И больше ни слова. Хотелось бы надеяться, что демоны за консоль 
> подрались, но не оно. :-) В принципе shell есть, можно подебажить. 
> Загрузка EFI'шная в qemu, если это важно. Могу выгрузить образ initrd, 
> если надо.

Что-то в пакете совсем не так пошло. Попробую всё собрать с нуля у себя.

Я не трогал то место откуда это сообщение появилось.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [make-initrd] Update
  2019-06-15 18:42       ` Leonid Krivoshein
  2019-06-17  8:30         ` Alexey Gladkov
@ 2019-06-19 15:50         ` Alexey Gladkov
  1 sibling, 0 replies; 10+ messages in thread
From: Alexey Gladkov @ 2019-06-19 15:50 UTC (permalink / raw)
  To: make-initrd

On Sat, Jun 15, 2019 at 09:42:27PM +0300, Leonid Krivoshein wrote:
> Локализовал по-максимуму. Плимут не влияет, un-def тоже не влияет. С 
> 2.2.10 проблем нет. Регрессия именно в 2.2.11 уже на старте ueventd. 
> Конфиг дефолтный. Сеть специально пока не поднимал. В одном из 
> rdsheel'ов отхватил такое:
> 
> rdshell: The waiting time expired!
> setsid: can't execute '-c': No such file or directory

Собрал себе локальный образ и всё загрузилось на железе на моей машине.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-06-19 15:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-14  8:12 [make-initrd] Update Alexey Gladkov
2019-06-14  9:51 ` Leonid Krivoshein
2019-06-14 12:29   ` Alexey Gladkov
2019-06-14 17:58     ` Leonid Krivoshein
2019-06-16 12:22       ` Alexey Gladkov
2019-06-16 17:38         ` Leonid Krivoshein
2019-06-15 17:57     ` Leonid Krivoshein
2019-06-15 18:42       ` Leonid Krivoshein
2019-06-17  8:30         ` Alexey Gladkov
2019-06-19 15:50         ` Alexey Gladkov

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git