From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Resent-From: Michael Shigorin Resent-Date: Tue, 23 Apr 2019 16:00:02 +0300 Resent-Message-ID: <20190423130002.GJ18867@imap.altlinux.org> Resent-To: make-initrd@lists.altlinux.org Envelope-to: ar@cs.msu.ru Delivery-date: Fri, 27 Apr 2018 02:11:25 +0300 From: Alexey Gladkov To: Leonid Krivoshein Message-ID: <20180426231114.GM4066@comp-core-i7-2640m-0182e6> References: <20180425085417.GA4066@comp-core-i7-2640m-0182e6> <20180425100924.GY4026@imap.altlinux.org> <20180425121231.GB4066@comp-core-i7-2640m-0182e6> <20180425154402.GC4026@imap.altlinux.org> <20180426083554.GE4066@comp-core-i7-2640m-0182e6> <8f210a29-13c8-0714-3bd5-6a69a5f1cb57@gmail.com> <20180426101604.GG4066@comp-core-i7-2640m-0182e6> <20180426102102.GH4066@comp-core-i7-2640m-0182e6> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-SA-Exim-Connect-IP: 194.107.17.36 X-SA-Exim-Mail-From: gladkov.alexey@gmail.com X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail.cs.msu.ru X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 X-SA-Exim-Version: 4.2 X-SA-Exim-Scanned: Yes (on mail.cs.msu.ru) Cc: =?utf-8?B?0JDQvdC00YDQtdC5INCn0LXRgNC10L/QsNC90L7Qsg==?= Subject: Re: [make-initrd] =?utf-8?b?RndkOiBSZTogW2RldmVsXSDQl9Cw0L/RgNC+0YEg?= =?utf-8?b?0L3QsCDRhNC40YfRgyBsaXZlYm9vdCDQsiBtYWtlLWluaXRyZA==?= X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Tue, 23 Apr 2019 13:00:03 -0000 X-Original-Date: Fri, 27 Apr 2018 01:11:14 +0200 X-List-Received-Date: Tue, 23 Apr 2019 13:00:03 -0000 Archived-At: List-Archive: On Fri, Apr 27, 2018 at 12:26:09AM +0300, Leonid Krivoshein wrote: > Ещё пару слов о пропагаторе с Вашим кодом из make-initrd. В виртуалках > QEMU и VirtualBox загрузка не сломалась, напротив, сеть теперь > находится. Рад слышать. > С тем же эффектом мы проверили его на дюжине машин, найдя > одну проблемную, где старый пропагатор запнулся с поиском флэшки, а > новый нет. Ещё на одной машине по сети удалось загрузиться, даже > несмотря на очень необычную ситуацию, когда сеть не пойми как работает, > DHCP-сервер в железной CISCO, PXE-сервер в виртуалке VMware, а сетевая > карта болтается соплёй от USB. Скорее всего это из-за того, что ipconfig использует очень старый dhcp, который руками разбирается. > Тем не менее, к старому коду вопросы есть. make-initrd-0.8.x ? > Во-первых, судя по документации, udevadm control --reload-rules (теперь > вроде так это называется) делать после запуска демона udevd > необязательно. Ну нужно. А кто его делает ? > Во-вторых, сейчас задержка на поиск сетевой карты получилась 15 секунд > (итераций), тогда как для CD-ROM/флэшек она составляет фактически 32+15 > секунд (итераций) -- несправедливо! Я не считал итерации. Возможно. > В-третьих, самый непонятный для меня вопрос > с udevadm settle --timeout=5. Получается, мы просим его подождать > появления железа с 5-секундным таймаутом Этот таймаут на очередь, чтобы не ждать слишком долго. > Я так понимаю, чтобы отработали скрипты/правила udev'а после > нахождения этого железа. Нет. Это просто ожидание инициализации железа после загрузки модуля ядра. Если всё проинициализируется раньше, то `udevadm settle` выйдет раньше таймаута. > В отличии от пропагатора, в make-initrd задержка стоит в > 1/10 секунды в бесконечном цикле с общим ограничением по времени. Но в > целом, получается, что Ваш код более рабочий, а я не очень хорошо знаю > udev, если честно... Вы слишком переоцениваете udev. В наши дни он выродился в обычный фильтр. Он слушает эвенты ядра и позволяет с помощью правил-фильтров реагировать на них. При этом обработчики должны быть короткими т.е. нельзя запускать фоновые процессы или что-то долго обсчитывать. Вот и все функции udev. Остальной код реагирует на определённые эвенты. Но мы не знаем, когда появятся условия для монтирования корня. Поэтому там бесконечный цикл. -- Rgrds, legion