Debian debates systemd
Debian debates systemd
Posted Jul 30, 2011 16:31 UTC (Sat) by viro (subscriber, #7872)In reply to: Debian debates systemd by patrick_g
Parent article: Debian debates systemd
It's not about using non-POSIX stuff; there are perfectly POSIX-enshrined FPOS APIs - look at POSIX ipc for starters (interface and, unfortunately, implementation as well). And I've no problem whatsoever with Linux-specific things being used - I could hardly claim that after having done Linux implemantation of namespaces, after all. Or after having helped Ram Pai with shared subtree implementation - the latter being unique to Linux, as far as I know (Plan 9 has namespaces, albeit somewhat different, but not this one).
The problem is that Lennert seems to treat everything in the kernel, no matter how optional and badly written, as fair game for making mandatory. And _that_ is a bloody bad idea, no matter how many deficiencies sysvinit has. Init replacements are not optional, thus pinning their dependencies down.
If you want kernel/cgroup.c code review, I can probably post it a bit after -rc1. Assuming I survive writing it - high blood pressure and all such... Not sure if lwn would be the right place for that, though.
Posted Jul 30, 2011 16:39 UTC (Sat)
by viro (subscriber, #7872)
[Link]
Posted Jul 30, 2011 19:04 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (13 responses)
Posted Jul 30, 2011 20:23 UTC (Sat)
by viro (subscriber, #7872)
[Link] (12 responses)
Posted Jul 30, 2011 21:37 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (11 responses)
Posted Jul 30, 2011 21:47 UTC (Sat)
by riel (subscriber, #3142)
[Link]
Posted Jul 31, 2011 0:01 UTC (Sun)
by gerdesj (subscriber, #5446)
[Link] (9 responses)
There is kernel space and there is user space.
The kernel exports a feature called cgroups and this is found useful and used in user space.
It is of absolutely no consequence whether the kernel code is ugly, pretty, has a nicely proportioned ankle or is downright gorgeous. It has an interface, and that is what is used.
To denigrate a user space system by arguing that the kernel implementation that it relies on is flawed is ludicrous to the point of disbelief.
Cheers
Posted Jul 31, 2011 0:50 UTC (Sun)
by viro (subscriber, #7872)
[Link] (8 responses)
I don't give a rat's arse for denigrating or lauding systemd, its author or its fanboys (OK, beyond the usual allergy to fanboys of any persuasuion). The trouble with systemd is as pragmatic as it gets - due to architecture decision by systemd author(s), running it means that several really badly-written pieces of code will be executed in kernel mode all the time. It doesn't matter how the blame is to be distributed - I simply don't care. Not interesting. It's not about judging Lennart (FWIW, my opinion is simple - (a) obnoxious luser; (b) not my luser, thanks $DEITY), it's not about something systemd might "deserve". The only thing I do care about in that story is what code ends up running on my boxen and what can I do about that.
Posted Jul 31, 2011 11:59 UTC (Sun)
by anselm (subscriber, #2796)
[Link] (3 responses)
It isn't quite clear to me whether you have a problem with the idea of cgroups in principle, or with the current implementation of cgroups.
If it's the latter, then with all possible respect why is committing to producing your own distribution (if only for your own personal use) for the indefinite future a better course of action than (contributing to) cleaning up or replacing the current cgroups implementation and being done with the issue? If nothing else it would be good for the Linux community at large, either by improving a feature that many people want to use (even though it is implemented badly), or else by making a feature that some people don't want to use (because it is implemented badly) more acceptable.
Also, many other parts of the kernel are »optional« in the sense that there is a switch in the config file that would make them disappear, but that doesn't mean it's a good idea to do so. Some of these might even be badly implemented (I'm not a kernel hacker, so probably wouldn't be able to tell), or might have been badly implemented when they were new and have since been cleaned up. If people are not supposed to make use of »optional« kernel features because they're, well, optional, why offer them in the first place?
Posted Jul 31, 2011 14:27 UTC (Sun)
by riel (subscriber, #3142)
[Link] (2 responses)
This is a serious lack of robustness for something that's supposed to replace /sbin/init...
Posted Jul 31, 2011 15:52 UTC (Sun)
by anselm (subscriber, #2796)
[Link] (1 responses)
The traditional SysV init itself can fail in all sorts of interesting ways if its components aren't in the correct place or otherwise broken. Most distributions have figured out by now that depending on bash-specific stuff in »#!/bin/sh« scripts called during the init process is a bad idea if people install a different (POSIX-compatible) shell as /bin/sh, but it was not an obvious thing at the time. Personally I wouldn't look to SysV init as a paragon of robustness.
OTOH, it is reasonable to assume that distributions that come with systemd as the default init subsystem will make sure that the kernels provided with the distribution have the necessary features enabled. This is no more or less reasonable than to assume that distributions that come with a DHCP client have networking enabled in the kernel. It is also reasonable to assume that people who insist on tweaking their kernels will leave cgroups etc. in if they expect to use systemd, much like they will leave networking in if they expect to use TCP/IP.
Posted Jul 31, 2011 16:39 UTC (Sun)
by viro (subscriber, #7872)
[Link]
Look, I've dealt with more than one entangled mess in the kernel code, thank you very much. I am *not* volunteering to fix cgroups; it's not just badly written kernel/cgroup.c - the interfaces on *both* sides (userland and the rest of kernel) are seriously misdesigned. As far as I'm concerned, configuring it out solves my problem nicely and those who want it are welcome to produce and submit patches. l-k is over -> that way...
And as for fanotify... *shudder* No way in hell I'm taking over that one. Eric is whole-heartedly welcome to that monster; as long as that fuckup can be configured away, I definitely will do so. On all my boxen.
Posted Aug 1, 2011 8:39 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (3 responses)
You will lose reliable kill support, but it'd still work.
Posted Aug 2, 2011 3:35 UTC (Tue)
by FraGGod (guest, #63193)
[Link] (2 responses)
systemd ties units to a processes via cgroups and cgroups only, it's an absolute requirement for systemd to run. No cgroups support in kernel = no systemd. Period.
That said, you can disable resource controllers, like cpu, blkio, etc, they are indeed optional, but not the cgroups feature itself.
Posted Aug 2, 2011 6:33 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
Posted Aug 2, 2011 7:46 UTC (Tue)
by rahulsundaram (subscriber, #21946)
[Link]
https://bugzilla.redhat.com/show_bug.cgi?id=628004
http://cgit.freedesktop.org/systemd/patch/?id=e5a53dc7463...
http://lists.freedesktop.org/archives/systemd-devel/2011-...
Posted Jan 23, 2013 10:21 UTC (Wed)
by pgoetz (subscriber, #4931)
[Link]
Did this ever happen? Also, I'm curious to know your reasons for why plumber is better than D-bus.
Posted Jan 23, 2013 15:58 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
DBUS is _used_. It's actually _used_ in the freaking _real_ _world_. At that point saying it's "ugly" and everyone should just rewrite all their software to use my-obscure-and-useless-implementation is, shall we say, madness.
Posted Jan 23, 2013 16:46 UTC (Wed)
by andresfreund (subscriber, #69562)
[Link] (3 responses)
Posted Jan 23, 2013 17:26 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
Posted Jan 23, 2013 18:30 UTC (Wed)
by rleigh (guest, #14622)
[Link] (1 responses)
Posted Jan 23, 2013 18:42 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Jan 23, 2013 17:30 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
How is it even _comparable_ to DBUS? It can't be used to send file descriptors or credentials, it has no schema support for messages (they are free-form text), it has no central naming directory, it has no support for activation (though we can probably use systemd's socket activation for it). Oh, and it also mixes in weird routing rules that work on the basis of regex matching.
Do you even *know* how and why DBUS is used out there in the real world?
Posted Jan 23, 2013 22:33 UTC (Wed)
by raven667 (subscriber, #5198)
[Link]
Posted Mar 15, 2013 21:59 UTC (Fri)
by pgoetz (subscriber, #4931)
[Link]
That's completely irrelevant. cgroups are an absolute necessity in modern multi-user systems.
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Jon
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
b) Last time network subsystem maintainer refused even the idea of AF_DBUS - we evidently should use IP multicast. So people went the usual way - write something, ship 10 million devices with it and present it as a fait accompli.
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd
Debian debates systemd