>I'm using runit as my primary init on Linux to good effect but have
>noticed
>that it accumulates CPU time even while the system is idle. I suspect
>that
>this is a consequence of runsvdir polling the service directory for
>changes
>and that using inotify would reduce this. This would introduce some
>complexity and variance between platforms but bring the benefit of
>removing
>a source of CPU wake-ups. Has using inotify been considered and
>rejected
>for another reason?
I suspect non-portability and complexity are the main reasons.
The current runsvdir implementation is very simple. It's originally
based
on daemontools' "svscan" design, which polls every 5 seconds. runsvdir
only polls 14 seconds, which is almost 3 times better. ;)
s6-svscan (s6's equivalent of runsvdir) does not poll at all by
default:
it only rescans when you tell it to, via an external command
(s6-svscanctl -a). That allows you to, for instance, set up a service
with
an inotifyd triggering a rescan on scandir changes, if that's the
workflow
you want.
--
Laurent
Received on Sat Jan 14 2017 - 09:24:42 UTC