Obstacles for kdbus
This conversation is in full swing as of this writing, so an attempt to fully summarize it would be futile. In brief, though, the complaints take a number of forms. There is unhappiness with the performance of kdbus — a bit surprising, since performance is one of the motivating factors behind this development. There are a number of security-related concerns, especially around how the bus collects and transmits metadata about connected processes. Kdbus is still said to not play well with containers. Some developers find the complexity daunting. And so on.
The core of the disagreement, arguably, can be found in this message from Greg. There, he agreed that
the design was "unfortunate
" (though he later retracted that
statement), and said that kdbus needed to be taken in its current form even
if it is not ideal:
Again, just like getting horrid hardware to work properly, sometimes we have to write odd code. Or having to implement a network protocol that doesn't seem to be designed "perfectly", yet is used by a few hundred million systems so we have to remain compatible. This is all that we are doing here for stuff like this.
Remember, this is called kDBUS, not kGENERICIPC, no matter how much we would have liked that to happen from a kernel standpoint. :)
It is probably fair to say that those who are opposed to kdbus in its current form would rather that it were, indeed, kGENERICIPC. They seem to feel that it should be able to support what is needed to implement D-Bus efficiently, but the D-Bus-specific parts, perhaps, should go into user space. After all, there are only so many interprocess communication mechanisms that can be merged into the kernel; the one that goes in, many developers think, should be free of known flaws and should be able to do more than reimplement the D-Bus protocol.
It is hard to say at this point how this discussion will play out or what
Linus will decide to do in the end. The chances are good, though, that
enough high-profile developers have expressed opposition to derail the
merging of kdbus in this development cycle. Complete consensus is not
always required to get code into the kernel, but getting code merged when
there is serious opposition is still quite hard. This story, it seems, may
go on for a while yet.
| Index entries for this article | |
|---|---|
| Kernel | kdbus |