From mboxrd@z Thu Jan 1 00:00:00 1970 From: Djalal Harouni Subject: Re: [PATCH 01/13] kdbus: add documentation Date: Tue, 20 Jan 2015 15:53:53 +0100 Message-ID: <20150120145353.GA8124@dztty> References: <1421435777-25306-1-git-send-email-gregkh@linuxfoundation.org> <1421435777-25306-2-git-send-email-gregkh@linuxfoundation.org> <54BE5DC8.70706@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Josh Boyer Cc: David Herrmann , "Michael Kerrisk (man-pages)" , Greg Kroah-Hartman , Arnd Bergmann , "Eric W. Biederman" , One Thousand Gnomes , Tom Gundersen , Jiri Kosina , Andy Lutomirski , Linux API , linux-kernel , Daniel Mack , Johannes Stezenbach List-Id: linux-api@vger.kernel.org Hi, On Tue, Jan 20, 2015 at 09:42:59AM -0500, Josh Boyer wrote: > On Tue, Jan 20, 2015 at 9:31 AM, David Herrmann wrote: > > Hi Michael > > > > On Tue, Jan 20, 2015 at 2:53 PM, Michael Kerrisk (man-pages) > > wrote: > >> On 01/16/2015 08:16 PM, Greg Kroah-Hartman wrote: > >>> From: Daniel Mack > >>> > >>> kdbus is a system for low-latency, low-overhead, easy to use > >>> interprocess communication (IPC). > >>> > >>> The interface to all functions in this driver is implemented via ioctls > >>> on files exposed through a filesystem called 'kdbusfs'. The default > >>> mount point of kdbusfs is /sys/fs/kdbus. This patch adds detailed > >>> documentation about the kernel level API design. > >> > >> I have some details feedback on the contents of this file, and some > >> bigger questions. I'll split them out into separate mails. > >> > >> So here, the bigger, general questions to start with. I've arrived late > >> to this, so sorry if they've already been discussed, but the answers to > >> some of the questions should actually be in this file, I would have > >> expected. > >> > >> This is an enormous and complex API. Why is the API ioctl() based, > >> rather than system-call-based? Have we learned nothing from the hydra > >> that the futex() multiplexing syscall became? (And kdbus is an order > >> of magnitude more complex, by the look of things.) At the very least, > >> a *good* justification of why the API is ioctl()-based should be part > >> of this documentation file. > >> > >> An observation: The documentation below is substantial, but this API is > >> enormous, so the documentation still feels rather thin. What would > >> really help would be some example code in the doc. > >> > >> And on the subject of code examples... Are there any (prototype) > >> working user-space applications that exercise the current kdbus > >> implementation? That is, can I install these kdbus patches, and > >> then find a simple example application somewhere that does > >> something to exercise kdbus? > > > > If you run a 3.18 kernel, you can install kdbus.ko from our repository > > and boot a full Fedora system running Gnome3 with kdbus, given that > > you compiled systemd with --enable-kdbus (which is still > > experimental). No legacy dbus1 daemon is running. Instead, we have a > > bus-proxy that converts classic dbus1 to kdbus, so all > > bus-communication runs on kdbus. > > FWIW, we've been building a "playground" repository for the kernel > that contains this already for Fedora. If you have a stock Fedora 21 > or rawhide install, you can use: > > https://copr.fedoraproject.org/coprs/jwboyer/kernel-playground/ > > which has the kernel+kdbus and systemd built with --enable-kdbus > already. Easy enough to throw in a VM for testing. > > josh Yes thanks josh! Another addition, if kdbus is installed and loaded, you could also use systemd-nspawn to boot a full system (systemd compiled with --enable-kdbus) in a container [1], kdbusfs will be mounted in the container. There is also the busctl tool to query kdbus... http://www.freedesktop.org/wiki/Software/systemd/VirtualizedTesting/ -- Djalal Harouni http://opendz.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752798AbbATOyD (ORCPT ); Tue, 20 Jan 2015 09:54:03 -0500 Received: from mail-wi0-f171.google.com ([209.85.212.171]:39079 "EHLO mail-wi0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751801AbbATOyA (ORCPT ); Tue, 20 Jan 2015 09:54:00 -0500 Date: Tue, 20 Jan 2015 15:53:53 +0100 From: Djalal Harouni To: Josh Boyer Cc: David Herrmann , "Michael Kerrisk (man-pages)" , Greg Kroah-Hartman , Arnd Bergmann , "Eric W. Biederman" , One Thousand Gnomes , Tom Gundersen , Jiri Kosina , Andy Lutomirski , Linux API , linux-kernel , Daniel Mack , Johannes Stezenbach Subject: Re: [PATCH 01/13] kdbus: add documentation Message-ID: <20150120145353.GA8124@dztty> References: <1421435777-25306-1-git-send-email-gregkh@linuxfoundation.org> <1421435777-25306-2-git-send-email-gregkh@linuxfoundation.org> <54BE5DC8.70706@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Tue, Jan 20, 2015 at 09:42:59AM -0500, Josh Boyer wrote: > On Tue, Jan 20, 2015 at 9:31 AM, David Herrmann wrote: > > Hi Michael > > > > On Tue, Jan 20, 2015 at 2:53 PM, Michael Kerrisk (man-pages) > > wrote: > >> On 01/16/2015 08:16 PM, Greg Kroah-Hartman wrote: > >>> From: Daniel Mack > >>> > >>> kdbus is a system for low-latency, low-overhead, easy to use > >>> interprocess communication (IPC). > >>> > >>> The interface to all functions in this driver is implemented via ioctls > >>> on files exposed through a filesystem called 'kdbusfs'. The default > >>> mount point of kdbusfs is /sys/fs/kdbus. This patch adds detailed > >>> documentation about the kernel level API design. > >> > >> I have some details feedback on the contents of this file, and some > >> bigger questions. I'll split them out into separate mails. > >> > >> So here, the bigger, general questions to start with. I've arrived late > >> to this, so sorry if they've already been discussed, but the answers to > >> some of the questions should actually be in this file, I would have > >> expected. > >> > >> This is an enormous and complex API. Why is the API ioctl() based, > >> rather than system-call-based? Have we learned nothing from the hydra > >> that the futex() multiplexing syscall became? (And kdbus is an order > >> of magnitude more complex, by the look of things.) At the very least, > >> a *good* justification of why the API is ioctl()-based should be part > >> of this documentation file. > >> > >> An observation: The documentation below is substantial, but this API is > >> enormous, so the documentation still feels rather thin. What would > >> really help would be some example code in the doc. > >> > >> And on the subject of code examples... Are there any (prototype) > >> working user-space applications that exercise the current kdbus > >> implementation? That is, can I install these kdbus patches, and > >> then find a simple example application somewhere that does > >> something to exercise kdbus? > > > > If you run a 3.18 kernel, you can install kdbus.ko from our repository > > and boot a full Fedora system running Gnome3 with kdbus, given that > > you compiled systemd with --enable-kdbus (which is still > > experimental). No legacy dbus1 daemon is running. Instead, we have a > > bus-proxy that converts classic dbus1 to kdbus, so all > > bus-communication runs on kdbus. > > FWIW, we've been building a "playground" repository for the kernel > that contains this already for Fedora. If you have a stock Fedora 21 > or rawhide install, you can use: > > https://copr.fedoraproject.org/coprs/jwboyer/kernel-playground/ > > which has the kernel+kdbus and systemd built with --enable-kdbus > already. Easy enough to throw in a VM for testing. > > josh Yes thanks josh! Another addition, if kdbus is installed and loaded, you could also use systemd-nspawn to boot a full system (systemd compiled with --enable-kdbus) in a container [1], kdbusfs will be mounted in the container. There is also the busctl tool to query kdbus... http://www.freedesktop.org/wiki/Software/systemd/VirtualizedTesting/ -- Djalal Harouni http://opendz.org