[systemd-devel] Start-up resource and prioritization control

Lennart Poettering lennart at poettering.net
Wed May 21 01:38:16 PDT 2014


On Tue, 20.05.14 11:33, Umut Tezduyar Lindskog (umut at tezduyar.com) wrote:

> > Wouldn't thes easily deadlock? Imagine you have two services on your
> > system A and B. Each of them needs to communicate with the other it
> > would become fully active. If your limit of active jobs is 2 there is
> > no problem, but if it is 1 it would always deadlock...
> 
> I don't think so. If A wants to communicate with B before B is
> started, then the communication should be via some kind of on deman
> activation (socket, dbus, etc). We should be able differentiate if the
> service systemd is trying to start is part of the initial transaction
> or someone requested systemd to start a service.

I am not convinced it would it be advisable to ty to distuingish
"on-demand" activation from "other" activation. There are plenty cases
where where apps might explicitly request some service, because they
want to talk to it, and do so via something equivalent to
StartUnit(). Now, how do you distuingish such an invocation as on-demand
from  another one, where let's say the user just wanted to queue some
service into the initial transaction? I think you can only lose when you
try to be too smart here...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list