On Wed, Dec 31, 2014 at 7:42 AM, Garegin Asatryan <garegi...@gmail.com> wrote:
> In Windows 8 and later the group policy service (and maybe other services as 
> well, I couldn't find any info on that) can go to sleep to save power. Do you 
> think a similar feature could be implemented for systemd?
> [...]
> Group Policy background refresh starts as a scheduled task, not as a service 
> that continuously checks to determine when it is time to run the background 
> refresh. The scheduled task model requires less overhead processing, which 
> creates better performance for client computers.

I'm not sure what implementation exactly you have in mind?

As far as I know, it has never done any "continuous checking" in the
first place – systemd *is* asleep most of the time, waiting on
external events to arrive via epoll. (It even had fixes added to the
kernel just so that it wouldn't need to manually re-check mtab &c.).

Even for .timer units, systemd simply sleeps until it's actually time
for the next event – like cron, or Task Scheduler for that matter.
There shouldn't be any "is it time yet?".

~

However, one place of improvement that comes to mind is the 'watchdog'
feature that systemd uses to ensure its services aren't stuck, by
having them check in with pid1 every now and then (that is, every 1/2
of the configured timeout). Similarly, pid1 itself can use the
hardware watchdog, although this is off by default.

That is, most of systemd's own services have WatchdogSec=1min which
causes all of them to wake up every 30 seconds. So one way to save
power would be to grep /lib/systemd/system for WatchdogSec= and
increase the interval configured. I think you could raise this to
"10min" or so, depending on the service.

Oddly, I see user/enlightenment.service having WatchdogSec=10, which
is just nuts. O_o

-- 
Mantas Mikulėnas <graw...@gmail.com>
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to