Source: runit
Version: 2.2.0-3
Severity: wishlist
Tags: upstream

Dear Maintainer,

I ran 'perf sched' to confirm what I suspected from the source code that
runsvdir wakes up the processor excessively to scan the service directory and
act on signals.

This is a problem for systems that might want to go into a deeper sleep mode
when there are no events to respond to, or where many lightweight VMs are
running runit because the number of wakeups multiplies up by the number of
instances.

I suggest an upstream enhancement would be to use Linux's inotify(7) feature 
along with signalfd(2) in an I/O multiplexer.

I think this is worth doing to defend runit's key selling point of being low
footprint: low footprint should also mean on processor and power usage. I feel
the current behaviour would put me off recommending runit for some use cases
that would otherwise be a great fit.

One question I would have about this is whether the polling interval is also
important for coalescing change events, in which case a timer might
additionally be needed to coalesce events after an initial wakeup.

Thanks,

Andrew

Reply via email to