LINUX.ORG.RU

А Вы знали, что iTCO watchdog - это программный вотчдог в SMM-режиме процессора?

 , ,


1

3

SMM - это такой -2 режим колец защиты процессора в который не может вмешаться даже ОС. Используется для эмуляции оборудования (особенно для старых ОС), исполнения кода в доверенной среде (например, проверка ЭЦП прошивки и заливка во flash bios'а), входа/выхода из S*-режимов и управлением питанием без ОС.

Собственно, оказалось, что iTCO watchdog (имеется на многих серверах) - это не аппаратный вотчдог (как в iLO, например, в других системах с BMC), а программный. Причём я лично видел только его присутствие в системе не смотря на наличие DMC с IPMI.

Что это за бред такой? Нафиг нужен программный вотчдог (причём позиционируемый как аппаратный)? Разве так сложно в контроллер питания встроить таймер с i2c-шиной? Просто в некоторых случаях бывают ситуация, когда оборудование глючит (иногда из-за кривых дров) и вешает проц. Либо проц не вешается, но нужно полностью сбросить оборудование (кстати, почему не делают вотчдогами полный цикл выключения/включения со снятием напряжения, а прочто ребут?).

Источники:
http://www.coreboot.org/pipermail/coreboot-gerrit/2014-January/007350.html
http://lxr.free-electrons.com/source/drivers/watchdog/iTCO_vendor_support.c
http://habrahabr.ru/post/267197/

процессор входит в SMM по прерыванию SMI, которое отдельное и немаскируемое так что разницы особой нету

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

процессор входит в SMM по прерыванию SMI, которое отдельное и немаскируемое так что разницы особой нету

Только вот оборудование повиснуть может, не?

ktulhu666 ☆☆☆
() автор топика

Пофиг, что софтварный. У меня этот iTCO (на ширпотребном железе) никогда не работал. Как его готовить?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от ktulhu666

это какое такое оборудование? таймер там аппаратный полюбому есть, ибо низя обычный таймер на SMI направить. а сама реализация - ну как смогли так и сделали, что ты пристал

ckotinko ☆☆☆
()
Ответ на: комментарий от i-rinat

И часто у тебя тактовый генератор подвисает?

См. шапку: проблема может быть во внешнем оборудовании, которое в общем для работы необходимо. Для про контроллеры разные на PCIe.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от intelfx

У меня этот iTCO (на ширпотребном железе) никогда не работал. Как его готовить?

Подгружаешь модуль ведра, у тебя появляется /dev/watchdog0 . При загрузке модуля (или после при помощи утилиты управления) можно указать таймаут (обычно 30 секунд по-дефолту). Далее первая же запись (чего угодно) в /dev/watchdog0 его запускает. Далее нужно успеть до таймаута сделать запись ещё раз. Всё. В качестве ПО можно использовать многочисленные скрипты или watchdogd.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

это что ж за контроллер такой может быть, чтоб систему утащить за собой. кстати если такой есть в природе или чипсет кривой, то стопорнёт её в любом случае, хоть ты аппаратную собаку на будьльнике с кукушкой запили. а SMM это просто способ реализации(т.е. как влезть в программу и изобразить ей прерывание) не переделывая процессор.

ckotinko ☆☆☆
()

ты из толксового клоуна решил переквалифицироваться во второго анойнимуса?

anonymous
()
Ответ на: комментарий от ckotinko

Я же выше писал, что нормальный вотчдог: это снимаем с мамки напругу, через 10 секунд подаём. Видел такое в промышленных компах отдельным модулем с USB.

ktulhu666 ☆☆☆
() автор топика
Последнее исправление: ktulhu666 (всего исправлений: 1)
Ответ на: комментарий от anonymous

ты из толксового клоуна решил переквалифицироваться во второго анойнимуса?

А он отличается умом и сообразительностью?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Чо-та не работает. Ну, я не сам им рулю, а через systemd. Один хрен висяк на шатдауне происходит регулярно (по причине разных там недоотмонтировавшихся дисков или упавшего чего-нибудь).

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от ktulhu666

И что? Единственный способ предотвратить прерывание это выключить его. Но если SMM нельзя выключить, то хоть проц в цикле будет крутиться, хоть выключенным в halt, прерывание его всё равно сдёрнет и переключит на обработчик.

i-rinat ★★★★★
()
Ответ на: комментарий от Legioner

Так наоборот же: включаем, выставляем таймаут на 10 минут и забываем (т. е. перестаём посылать периодические сигналы). Насколько понимаю, systemd так и делает. И тем не менее не работает, если кто-то передёрнул кабель хардов и подвесил ФС, или там какой oops случился — висяк при ребуте гарантирован.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Один хрен висяк на шатдауне происходит регулярно

Вручную попробуйте, возможно, его и не запускают. А возможно там не завершается его демон при шатдауне, поэтому система не ребутаеся (демон то ещё работает).

ktulhu666 ☆☆☆
() автор топика

Что это за бред такой?

А хочешь я тебе расскажу историю про APU от любимой всеми линуксоидами фирмы AMD.
А там ядер и DSP внутри - загибай пальцы: 4 x86 ядра, 1 ядро lm32 в SMU, один HiFi EP DSP в UVD, ещё один HiFi EP DSP в TrueAudio, ядрышко Cortex A5 в PSP (platform security procesor). Плюс видяшка сейчас не сильно от CPU отличается. И я ещё не в курсе, что в VCE используется.

И на всё это удовольствие закрытые блобы фирмварей.

devl547 ★★★★★
()
Ответ на: комментарий от ktulhu666

Вручную (предварительно отключив systemd'шную поддержку ватчдога):

# journalctl -b | grep iTCO
сен 27 03:10:56 server-9-20 kernel: iTCO_vendor_support: vendor-support=0
сен 27 03:10:56 server-9-20 kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
сен 27 03:10:56 server-9-20 kernel: iTCO_wdt: Found a HM55 TCO device (Version=2, TCOBASE=0x0460)
сен 27 03:10:56 server-9-20 kernel: iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)

# exec 9>/dev/watchdog0

# echo "wtf">&9

# lsof /dev/watchdog0
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
bash    938 root    9w   CHR  253,0      0t0 10623 /dev/watchdog0

# sleep 60; echo "I'm alive!"
I'm alive!

#

Хрен там.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Самое смешное, что эти товарищи играются в опенсорс прям как броадком с малиной.
А на деле блобов там мама не горюй, потому что патенты и маркетинг. Тот же dsp давно бы уже допилили для новых видеоформатов, но нельзя)

devl547 ★★★★★
()
Ответ на: комментарий от intelfx

Хм. Смотрите опции модуля ведра, а также настройку на матери. Если IPMI есть, то посмотрите через него.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Ничего такого нет — говорю ж, это ширпотребное железо, обычный в меру древний ноут, который у меня дома играет роль файлопомойки. В BIOS Setup там вообще три с половиной опции.

Коль так, можно забыть про iTCO? Или всё же должно быть можно заставить оный работать?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от devl547

Воистину.

С другой стороны, хотя бы драйвера заапстримлены и открыты, это уже хорошо хотя бы с т. з. удобства (можно пропатчить/пересобрать ядро при необходимости; не приходится сидеть на старых версиях и так далее).

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Коль так, можно забыть про iTCO? Или всё же должно быть можно заставить оный работать?

Посмотрите, есть ли настройка в биосе. Также посмотри опции модуля ядра.
У меня просто modprobe iTCO_wdt и далее работа с файлом.
Но попробуйте в /etc/modprobe.d/watchdog.conf добавить options iTCO_wdt heartbeat=70 nowayout=1 turn_SMI_watchdog_clear_off=0 и перезагрузиться. Либо выгрузить и загрузить модуль. Учтите, что если модуть есть в initrd, то параметры не применятся.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Уии.

options iTCO_wdt heartbeat=70 nowayout=1 turn_SMI_watchdog_clear_off=0
options iTCO_vendor_support vendorsupport=911
Таки ребутается. Круто. Спасибо.

intelfx ★★★★★
()
Ответ на: комментарий от ktulhu666

Нет, я всего лишь люблю иметь своё рабочее место всегда с собой.

А поскольку я студент-нищеброд, то в качестве домашней файлопомойки у меня железо, которое досталось мне даром (ввиду разбитого дисплея).

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Да ладно, у меня даже тред был: «2 ядра i5 и 8Гб памяти явно недостаточно для комфортной работы, когда нет возможности работать за нормальным компьютером (читай «экстремальные условия без розетки и гигабитного ethernet'а», например, кафе или ресторан).»

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Не согласен, вполне достаточно. Хотя очевидно, что у нас работа разная (если в моём случае это вообще можно так назвать).

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я был и остаюсь поклонником AMD (что не мешает мне иметь дома ноут и ещё один комп с intel).

Просто эта развлекуха «у вас там классный блок в процессоре есть, но фирмварь блобом, апдейтов не будет, новые фичи - в новых чипах, а поддержка всего этого хозяйства по остаточному принципу в либах для партнёров» порядком надоела.

devl547 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.