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

