Re: [PATCH 00/12] Add kdbus implementation
From: Greg Kroah-Hartman <hidden>
Date: 2014-10-29 23:41:14
Also in:
lkml
On Thu, Oct 30, 2014 at 12:24:02AM +0100, Jiri Kosina wrote:
On Wed, 29 Oct 2014, Greg Kroah-Hartman wrote:quoted
quoted
quoted
kdbus is a kernel-level IPC implementation that aims for resemblance to the the protocol layer with the existing userspace D-Bus daemon while enabling some features that couldn't be implemented before in userspace.I'd be interested in the features that can't be implemented in userspace (and therefore would justify existence of kdbus in the kernel). Could you please point me to such list / documentation?Lennart has given whole talks about this in the past, here's a recent talk going into the details: https://www.youtube.com/watch?v=HPbQzm_iz_kI think it's a reasonable expectation that kernel patch submissions should be reasonably self-contained though. We've always been very strict about pushing everybody to provide extensive cover letters, changelogs and explanations, so this shouldn't really be an exception, I think.
There is a 1815 line documentation file in this series, so we aren't trying to not provide this type of information here at all. But yes, more background, about why this can't be done in userspace (zero copy, less context switches, proper credential passing, timestamping, availble at early-boot, LSM hooks for security models to tie into, race-free interfaces, container/namespace support, etc.) should be added to the docs as well.
quoted
quoted
It seems to me that most of the highlight features from the cover letter can be "easily" (for certain definition of that word, of course) implemented in userspace (vmsplice(), sending fd through unix socket, user namespaces, UUID management, etc).We have dbus in userspace today, but that requires extra copies of data,But we can do zero-copy between processess for quite some time already, so what exactly is the issue here?
See the above list for more details. We'll work on this for the next round of patches, thanks. greg k-h