Обновил тут я ядрышко (Debian GNU/Linux) с 2.4.18 на 2.6.4, и практически
сразу заработал заслуженную порцию головной боли. Преизрядное количество
софта теперь работает сколько-нибудь стабильно только и исключительно
после выставления
LD_ASSUME_KERNEL=2.4.1
THREADS_FLAG=native
Без оных флажков либо вылетает (XMMS, ещё пара софтов), либо виснет
намертво (java, ну соответственно и Оракловые админские утилиты).Попытки пошарить по нету навели меня на посты N-го количества аналогичных
страдальцев, причём в ответах пару раз упоминался тот самый NPTL, то
бишь новая подсистема потоков (или тредов - кому как нравится).Хуже всего, что виснет и немалое количество мной же написанного софта.
Оно в Линухе и раньше не шибко шикарно работало - местные чудеса с
обработкой сигналов в своё время меня долго преследовали в кошмарных
снах. Однако после апгрейда ядрышка без упомянутых выше переменных
окружения всё тихо-мирно виснет на пересылке данных в сокет, со стороны
клиента, и на poll()е, со стороны сервера - что, на мой взгляд,
и вовсе чудеса.Итак: не подскажет ли какой знающий человек, где можно найти по
возможности полное описание сей новой потоковой подсистемы и чего
с ней надо по-хорошему (вместо отката на старорежимный вариант)
делать, чтоб всё на фиг не висло? Заранее большое спасибо.
Мнда. Молчание было ему ответом.
посмотрите http://people.redhat.com/drepper/
>посмотрите http://people.redhat.com/drepper/Спасибо!
Не совсем оно, зато удалось набрести на свежую ;) мысль:
может, дело в glibc, которая на юзверьспейсе не вполне
корректно взаимодействует с новым и сияющим ядром?
Попробую проапгрейдить, может чего и выйдет.
>>посмотрите http://people.redhat.com/drepper/
>
>Спасибо!
>
>Не совсем оно, зато удалось набрести на свежую ;) мысль:
>может, дело в glibc, которая на юзверьспейсе не вполне
>корректно взаимодействует с новым и сияющим ядром?
>Попробую проапгрейдить, может чего и выйдет.
Для glibc нужен спец патч, чтобы NPTL работало.
Привет,Вообще-то я недавно поставил Линкус с нуля, целиком из сорсов, при ядре 2.6.1 и glibc-2.3.2 без особых проблем. Конечно, мысль, что обновить ядро - это только заменить bzImage на новый... ошибочна, конечно. В лучшем случае, после замены ядра, вам надо заменить header files на те, которые соответснвуют новому ядру - и соотвественно, скомпилировать заново весь софт, который от его зависит. На самом деле не все так страшно, но вы сделали уж больно большой скачок - с 2.4 на 2.6 - вот и он и сказался...
WWell,
>но вы сделали уж больно большой скачок - с 2.4 на
>2.6 - вот и он и сказался...Ну как... Все 100% наблюдаемых глюков сосредоточены на
работе с потоками - что и неудивительно, так как основные
изменения _интерфейсной_ части ядра именно с ними, родимыми,
и были связаны. Вообще говоря, при аккурантной замене glibc
оные проблемы должны IMHO если не исчезнуть, то заметно
сократиться. А большого смысла весь софт пересобирать я,
честно говоря, не вижу. Ну какая к чертям разница cat'у,
sed'у, make'у, xemacs'у и прочей публике, какое там у меня
ядро. Все старые syscall'ы вроде бы поддерживаются, а что
новые не будут использоваться - дак ведь и так неплохо
работает.