Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
С HT/SMP проблемы не только у Агнитум 19.08.05 18:05 Число просмотров: 1192
Автор: leo <Леонид Юрьев> Статус: Elderman Отредактировано 19.08.05 18:06 Количество правок: 1
|
Огромная куча kernel-софта еле-еле живет, если больше одного CPU, включая Linux и FreeBSD.
И проблема не в использовании мьютексов (с ними как-раз всё в порядке), а в том что большинство ошибок в синхронизации вылазит именно на SMP. Например, на NT в UP-конфигурации всё равно, в каком порядке хватать spin-локи. Первый поднимет IRQL до DPC_LEVEL и на этом переключение между потоками прекратиться. А на SMP уже совсем по-другому, после взятия первого лока текущий CPU не будет переключаться между потоками, а остальные будут. И кто-то может захотеть взять другой spinlock или мьютекс. Из-за ошибок в таких местах, как правило, выходят dead-локи.
Например, из-за SMP-deadlock вероятностно вешается и KAV и Outpost (при запуске), а драйвера от ATI - вообще кошмар. Девелоперы пытаются по-быстрому "чинить" такие места, и получается еще хуже - races между процессорами, последствия очень часто проявляется как "синий экран"...
|
|
|