Re: ng_ipacct
- From
- Eugene Grosbein (2:5006/1)
- To
- dmitry@atlantis.dp.ua
- Date
- 2006-12-21T21:46:12Z
- Area
- RU.UNIX.BSD
Reply-To: eugen@grosbein.pp.ru
21 дек 2006, четверг, в 15:19 KRAST, dmitry@atlantis.dp.ua написал(а):
>>> Все такие странные проблемы уходят, всем рекомендую.
dadu>> IMHO зря _всем_ рекомендуете. Для тех, кто часто обновляет исходники
dadu>> _и_
dadu>> перестраивает ядро это плохой, негодный совет. Я, например, при
dadu>> очередном
dadu>> обновлении STABLE смотрю лог csup (а часто и diff -u старого и нового
dadu>> src),
dadu>> и, если изменения принципиальные только в ядре (а остальной мир
dadu>> практически
dadu>> не изменился) - делаю только make kernel.
>> Было ведь жесткое правило - держать ядро и мир
>> синхронизированными,
>> ну вот нафига пропагандировать его отмену? Сорцы обновил - пересобирай.
dadu> Ну и кто из нас пропагандирует? Я пишу: "IMHO зря _всем_
dadu> рекомендуете...
dadu> Я, например" - я привожу конкретный случай, когда Ваш совет дает
dadu> отрицательный
dadu> эффект, а вовсе не призываю всех, включая шушпанчиков с покемонами,
dadu> следовать
dadu> за мной. А вот "всем рекомендую" - это Ваши слова.
Отрицательный эффект дает вовсе не MODULES_WITH_WORLD, а игнорирование
требования держать ядро, мир и модули синхронизированными.
MODULES_WITH_WORLD этому требованию - не противоречит.
>> Если же только эксперименты с конфигом ядра, модули пересобирать
>> почти всегда не надо.
dadu> А если ошибка именно в модуле? Как Вы тут попросили 6 октября
dadu> выгрузить
dadu> fdc.ko? Не написали, кстати, офигенными буквами, что крах будет?! А в
dadu> час
dadu> ночи чужие мысли читать не всегда удается. Выгрузил, блин ;(
Я же попросил делать это в single user, выполнив полную перезагрузку.
То есть, без смонтированных fs и с рутом в r/o. Крах в этом варианте
не страшен.
dadu> А где же Ваш PR на эту тему? Мой 104079.
Мой патч на тему fdc.ko это kern/103841, только он не про unload module,
а про собственно функциональность fdc. Про панику после kldunload
у меня был отрицательный опыт с PR kern/69058 в 4.10-STABLE,
когда в июле 2004 послал подробный PR, который не получил ни одного followup
и через полтора года был закрыт так и не пофикшенным в четверке.
Из чего я сделал вывод, что у девелоперов есть дела поважнее,
чем разбирать проблемы с kldunload, и это можно понять - выгружать
модули при нормальной работе обычно не требуется. Поэтому такие PR
не посылаю. А вот про функциональность, дело другое.
dadu>> Но устаревшие модуля мне,
dadu>> естественно, не нужны. Ведь и ядро, и модуля, которые строит
dadu>> buildkernel
dadu>> -
dadu>> продукт одних и тех же текстов из src/sys, они тесно интегрированы,
dadu>> разрывать их перестроение - чревато тонкими глюками и невозможностью
dadu>> толком
dadu>> проанализировать kernel dump.
>> А еще бывают те же связки ядра и userland, поэтому модули пересобираются
>> вместе с миром, а мир - с изменением исходников. Или типа стабильность ABI
>> уже это требование похоронила?
dadu> Ну Вы же сами прекрасно понимаете, что "родные" фришные модуля не
dadu> обязаны
dadu> ограничиваться тем подмножеством ABI, которое официально документируется
dadu> проектом для третьих разработчиков?
Я имею в виду ABI между kernel land и user land.
dadu>> Вот как раз порты, кладя в /boot/modules свои модуля, порождают кучу
dadu>> вопросов у пользователей-не-девелоперов, когда последние обновляют
dadu>> систему,
dadu>> а она, погань, слетает при перезагрузке из-за устаревшего драйвера
dadu>> nVidia
dadu>> или какого-нибудь rtc.ko. Тут MODULES_WITH_WORLD AFAIK ничем помочь не
dadu>> может (а созданием в /boot/modules мешанины из актуальных базовых и
dadu>> устаревших портовых модулей, наоборот, навредит).
>>
>> Ну это вопрос аккуратности, можно и UPDATING не читать перед пересборкой
>> мира... Рекомендуемая процедура должна быть, в первую очередь,
>> надежной, а во вторую эффективной и простой. Требование читать diff-ы
>> не удовлетворяет второму :-) Требование при обновлении сорцов
dadu> Откуда Вы откопали это требование? Я такого и между строк не писал.
Ну а как еще можно сделать вывод, что допустимо пересобрать ядро
с модулями без мира? Понадеяться на авось?
>> пересобирать ядро, модули и мир и портовые модули удовлетворяется
>> хоть при использовании MODULES_WITH_WORLD, хоть без. Но при использовании
>> пересборка ядра без изменения сорцов, во-первых, не дает проблем
>> с портовыми модулями (а без - проблемы есть), а во-вторых, гораздо
>> эффективнее в смысле глупого оверхеда на пересборку модулей.
dadu> Ту хум хау. Я как раз (я, IMHO САМЫМ КРУПНЫМ ШРИФТОМ) гораздо чаще
dadu> обновляю исходники базовой ОС и пересобираю именно ее, чем порты
dadu> (disclamer: речь идет о домашних и тестовых машинах, НЕ о production).
И при этом мир не пересобираешь? Вот не надо бы такого озвучивать
без варнингов.
>> Мне вообще активно не нравится требование обновлять /usr/local
>> при смене версии OS. И я не обновлял ничего при переходе с четверки
>> на шестерку дома, за исключением досадных вещей типа смены
>> locale on-disk format, работало все, начиная от XFree86 и кончая
>> galeon-ом через compat4x без проблем.
dadu> Увы, при переходе от user-threads на 4ке на kernel threads 5+ без
dadu> этого
dadu> врядли можно было обойтись. Да и другие изменения от ветки к ветке
dadu> достаточно
dadu> глубоки. Вот в 7ке введут symbol versioning - посмотрим, полегчает ли в
dadu> этом
dadu> плане.
При переходе с 4 на 6 легко без этого обошелся на десктопе.
User-threads никуда не делись, и libc_r.so от четверки тоже.
Eugene
--
Choose no career
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
SEEN-BY: 50/12 400/814 450/159 1024 461/43 132 640 469/999 4616/3 4625/8
SEEN-BY: 4641/444 5000/76 5000 5006/1 8 9 10 14 15 16 17 5007/1 5010/70
SEEN-BY: 5011/13 5012/46 5015/28 5019/26 5020/18 175 194 400 545 982 1057 1909
SEEN-BY: 5020/1922 2238 2395 2871 4441 5021/29 5025/3 5026/14 45 5027/12
SEEN-BY: 5030/1080 1957 5034/10 13 5035/38 5036/1 5045/7 5049/1 5051/15 5054/1
SEEN-BY: 5054/4 8 9 11 28 35 36 37 45 66 67 70 75 84 85 5059/9 5060/88 5061/15
SEEN-BY: 5062/10 5063/3 5064/7 5066/18 5075/5 5076/1 5077/70 5084/9 5085/13
SEEN-BY: 5095/20 5096/18 6001/10
PATH: 5006/1 5020/400 545 5054/1 37