Conflicts with libvirt cgroup #29

Closed
ghedo opened this Issue Dec 14, 2011 · 8 comments

Projects

None yet

5 participants

@ghedo
ghedo commented Dec 14, 2011

Apparently ulatencyd moves around cgroups that it shouldn't touch (e.g. the libvirt one). See Debian bug #629380 for more information (there are some outputs of ulatency which should help to understand the problem).

Would it be possible for ulatencyd to simply ignore existing cgroups (i.e. not created by ulatencyd itself) and their processes?

@poelzi
Owner
poelzi commented Dec 16, 2011

I already implemented a safty net, but it is not used yet. Will do so for the next update that is in the works.

@gfa
gfa commented Feb 14, 2012

when can we get that update?

@gajdusek
Collaborator
gajdusek commented Aug 1, 2012
@gfa
gfa commented Aug 2, 2012

i'm using it, it works nicely

thanks

On Tue, Jul 31, 2012 at 06:32:52PM -0700, Petr Gajdůšek wrote:

See my fixes/issue29 branch https://github.com/gajdusek/ulatencyd/commits/fixes/issue29


Reply to this email directly or view it on GitHub:
#29 (comment)

1AE0 322E B8F7 4717 BDEA BF1D 44BB 1BA7 9F6C 6333

@gajdusek gajdusek added a commit to gajdusek/ulatencyd that referenced this issue Nov 30, 2012
@gajdusek gajdusek [1/3] rework foreign cgroups handling (issue #29): remove all relevan…
…t code

Current solution by storing the list of ulatencyd's own cgroups into
external file is weird and does not address situations where the daemon
gets killed - the file is not written.

I am going to fix this by ulatencyd private cgroup hierarchies mounted
without cgroup subsystems.
002e4b0
@gajdusek gajdusek added a commit to gajdusek/ulatencyd that referenced this issue Nov 30, 2012
@gajdusek gajdusek [2/3] rework foreign cgroups handling (issue #29): implementation
Detect and handle foreign cgroups using ulatencyd private cgroup
hierarchies.

For every used subsystem the private hierarchy is created in
<CGROUP_ROOT>/ulatencyd/<subsys>, e.g. /sys/fs/cgroup/ulatencyd/cpu.

The hierarchy is mounted:
- without any cgroup controller
- with name "ulatencyd.<subsystem>"
- using the fake device (first column in /proc/mounts) corresponding to
the directory where hierarchy with the real cgroup subsystem controller
is mounted. This way userspace scripts (e.g. ulatency) are able to map
our private hierarchies to the real ones.

Every cgroup directory created/removed by ulatencyd is also created/removed
in the corresponding private hierarchy. Tasks are not moved (mirrored)
inside private hierarchies as not needed for this purpose.
b8d8b0f
@gajdusek gajdusek added a commit to gajdusek/ulatencyd that referenced this issue Nov 30, 2012
@gajdusek gajdusek [3/3] rework foreign cgroups handling (issue #29): update the client …
…ulatency

ulatency clear <cgroup>|ALL
 - does not clear cgroups not created by ulatencyd
 - clear ulatencyd private hierarchies too
ulatency mounts
 - add column with ulatencyd private hierarchies
60c72e2
@pellaeon
pellaeon commented Mar 9, 2013

@gajdusek is your fix completed? If so, would you open a pull request so that your changes could be shipped to the downstream packages?
I use Ubuntu 12.04 and is affected by this bug.
I'm not familiar with the development and shipping process so if I've made an unreasonable request you can just ignore me, thanks!

@gajdusek
Collaborator

Hi pellaeon,
yes it is fixed but I doubt it would be easy or beneficial to make a pull request. There are many more bugs fixed in the fork and some of them are probably needed for fixing this issue. The patch would require heavy testing. Next I am not able to maintain all the branches with not merged fixes, I gave up long time ago.

You can try my fork instead. I have Debian source package which I can provide or I can provide the deb packages if you don't know how to build packages. IMHO, no additional changes should be needed for Ubuntu.

Petr

@pellaeon

Great, I would like the deb packages, thanks a lot!
2013/3/11 上午5:20 於 "Petr Gajdůšek" notifications@github.com 寫道:

Hi pellaeon,
yes it is fixed but I doubt it would be easy or beneficial to make a pull
request. There are many more bugs fixed in the fork and some of them are
probably needed for fixing this issue. The patch would require heavy
testing. Next I am not able to maintain all the branches with not merged
fixes, I gave up long time ago.

You can try my fork instead. I have Debian source package which I can
provide or I can provide the deb packages if you don't know how to build
packages. IMHO, no additional changes should be needed for Ubuntu.

Petr


Reply to this email directly or view it on GitHubhttps://github.com/poelzi/ulatencyd/issues/29#issuecomment-14689566
.

@gajdusek
Collaborator

Hi,
@pallaeon Sorry, I didn't provide the promised deb package. I was inactive for nearly year :)

I am closing this issue as the fix is merged in the master branch for a long time.

Petr

@gajdusek gajdusek closed this Feb 17, 2014
@gajdusek gajdusek added this to the 0.6.0 milestone Mar 2, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment