Messages in this thread | | | Date | Mon, 23 Jan 2012 21:43:52 +0100 | From | Lennart Poettering <> | Subject | Re: [PATCH 08/17] blkcg: shoot down blkio_groups on elevator switch |
| |
On Mon, 23.01.12 10:43, Tejun Heo (tj@kernel.org) wrote:
> > On Mon, Jan 23, 2012 at 01:27:45PM -0500, Vivek Goyal wrote: > > > Why can't systemd order elevator switch before other actions? > > > > Because systemd does not know. For systemd it is just launching services > > and what services are doing is not known to systemd. > > > > I think systemd does have some facilities so that services can express > > dependency on other services and dependent service blocks on completion > > of service it is depenent on. So may be in this case any service dealing > > with cgroups shall have to be dependent on this service which tunes > > the system and changes elevator. > > I'm sure systemd has enough facility for expressing this dependency. > Where this configuration belongs to is a different question tho. I > don't know how the tuned thing works but configurations like this are > bound to devices and should be part of device discovery / hotplug > sequence. IOW, it should be something which ultimately runs off udev > events as part of device found event.
I didn't really follow the whole discussion here, but if this is about adjusting parameters of a block device as the block device shows up this must necessarily happen in an udev rule (and not in a daemon watching block devices using libudev), since you most likely need the synchronicity: i.e. you want to avoid that normal (libudev-using) userspace code ever sees the device before those params are written to the device. A daemon asynchronously watching the devices with libudev for adjusting such tunables is necessarily racy.
Lennart
-- Lennart Poettering - Red Hat, Inc.
| |