Post by Leonid Isaev
Hmm, this sounds nasty. I wodner what we can do about it...
Maybe we should add a new setting PersistentExtraSec= to timer units or
so which allows delaying these kind of timers by an extra margin. Would
this work for you?
Yes, I think so. Actually, that's what Thomas proposed on
Hmm, thinking about this: the problem is actually not restricted to
persistent timers, any timer that has OnBootSec=10ms or so is also
affected by this, should the boot take longer than 10ms...
Another option might be to change what Type=idle means: instead of
making it wait until the job queue is empty it might be better to simply
make it wait until the default job is finished (with other words, until
graphical.target is reached). That way it doesn't matter what services
are added in by timers... Somehow this appears like the better solution
to me. This probably also means changing the manager state machine, and
splitting its "starting" state into two: one state for the time until
the default target is not yet reached, and a second state for the time
until the job queue is actually empty.
I added this to the TODO list now. I'd be happy to take a patch for this
Lennart Poettering, Red Hat