Comments 6
Так и не понял ответа на самый простой вопрос: зачем вообще для этого понадобился kernel space код?
Userspace-пингатор watchdogd, который пингует абсолютно виртуальный kernel space /dev/watchdog, который дергает оборудование на serial port через filesystem (а по сути — userspace) API, общение с которым опять же идет через непонятно зачем встроенный в ядро мультиплексор? Почему бы просто не оставить все это в userspace?
P.S. Действительно упустил эту мысль, когда зачищал код, сейчас поковырял стандартный watchdog и выяснил, что он ругается немного, но вполне может жить без ioctl запросов. Залил v0.2, там добавлен новый канал, который можно использовать совместно с watchdog. Последнему достаточно указать в настройках:
watchdog-device = /run/wrnd/wdt.fifo
Только нужно иметь в виду, если wrnd
заверешит работу раньше чем watchdog
, то будет перезагрузка. Драйвер можно использовать, но по сути он уже бесполезен.
UIO интересный вариант, но несколько более замороченный, чем изначально использованный FUSE. А по поводу CUSE у меня серьёзные сомнения, что он жив. Последний раз слышал о нём, так давно, что даже не сразу вспомнил, что такая штука была.
На счёт CUSE был не прав, вполне актуальная технология спасибо, что напомнили.
RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)