All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Daniel Walker <dwalker@fifo99.com>
Cc: "Arve Hjønnevåg" <arve@android.com>,
	"Brian Swetland" <swetland@google.com>,
	"Jeremy Fitzhardinge" <jeremy@goop.org>,
	"Greg Kroah-Hartman" <greg@kroah.com>,
	linux-kernel@vger.kernel.org, hackbod@android.com
Subject: Re: [PATCH 1/6] staging: android: binder: Remove some funny && usage
Date: Sun, 21 Jun 2009 14:09:36 +0200	[thread overview]
Message-ID: <1245586176.15367.62.camel@violet> (raw)
In-Reply-To: <1245458940.32124.45.camel@desktop>

Hi Daniel,

> > > Also are there any userspace test cases
> > > that Google used to test the performance of this interface. Or test
> > > cases to compare the binder with something like sockets, or any other
> > > type of IPC?
> > >
> > > If Google believes the binder is the right solution for IPC, how was
> > > that conclusion formed?
> > >
> > > Daniel
> > 
> > These are mostly questions for the framework team. The binder driver
> > is there to support our user space code. At some point we used the
> > driver from www.open-binder.org, but we ran into, and fixed, a lot of
> > bugs (especially when processes died), so we determined it would be
> > faster to rewrite the driver from scratch.
> 
> Most of these questions related to the fact that I don't think an
> interface like this just slips into the kernel as a driver. Since it's
> IPC, it's totally generic, and it's not part of a standard (i.e. POSIX),
> we need to have some better and more specific information about it (or
> atleast I do). 

at this point of time we are using D-Bus quite successfully for mostly
every userspace application. And embedded devices like Nokia 810 or even
the new Palm Pre seems to be very happy with it. Even the Android
platform contains D-Bus support (even though limited for BlueZ).

The only downside with D-Bus right now is that you can't really copy
large amount of data over its IPC. And that is purely for performance
reason and memory constraints. However it is actually an implementation
detail since D-Bus as of now uses Unix sockets underneath. Switching to
shared memory or implementing dbus-daemon as AF_DBUS inside the kernel
would solve these.

For the problem of not being able to pass file descriptors over D-Bus we
have patches that are currently under review and are most likely to get
merged for the next release. This would also remove the limitation of
the direct data communication since you could just give the file
descriptor of the data plane to the other process.

> If for instance the main reason for Google using this interface is cause
> a large number of android people once worked at Palm or BeOS, that's not
> reason enough for it to go into the kernel. Or if this binder interface
> really fits well with Java or C++ people and they just love it, that's
> not really acceptable either..

It is a Google only thing. Everybody else uses D-Bus and is actually
happy with it.

Regards

Marcel



  parent reply	other threads:[~2009-06-21 12:09 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-12 18:51 [PATCH 1/6] staging: android: binder: Remove some funny && usage Daniel Walker
2009-06-12 18:51 ` [PATCH 2/6] staging: android: binder: move debugging mask into a macro Daniel Walker
2009-06-12 18:51   ` [PATCH 3/6] staging: android: binder: remove a predefine Daniel Walker
2009-06-12 18:51     ` [PATCH 4/6] staging: android: binder: add enum usage in function arguments Daniel Walker
2009-06-12 18:51       ` [PATCH 5/6] staging: android: binder: global variable cleanup Daniel Walker
2009-06-12 18:51         ` [PATCH 6/6] staging: android: binder: clean up for all the stat statments Daniel Walker
2009-06-16 20:46 ` [PATCH 1/6] staging: android: binder: Remove some funny && usage Jeremy Fitzhardinge
2009-06-17 14:37   ` Daniel Walker
2009-06-17 15:28     ` Jeremy Fitzhardinge
2009-06-17 16:08       ` Daniel Walker
2009-06-17 16:31         ` Jeremy Fitzhardinge
2009-06-17 21:26           ` Arve Hjønnevåg
2009-06-17 21:31             ` Daniel Walker
2009-06-19 19:20               ` Brian Swetland
2009-06-19 22:53                 ` Daniel Walker
2009-06-20  0:13                   ` Arve Hjønnevåg
2009-06-20  0:49                     ` Daniel Walker
2009-06-20 18:48                       ` Christoph Hellwig
2009-06-21 12:09                       ` Marcel Holtmann [this message]
2009-06-25  4:09                       ` Dianne Hackborn
2009-06-25 10:14                         ` Marcel Holtmann
2009-06-25 11:34                           ` Alan Cox
2009-06-25 13:24                         ` Daniel Walker
2009-06-27  2:20                           ` GeunSik Lim
2009-06-20  1:26                     ` GeunSik Lim
2009-06-24 13:13                     ` Daniel Walker
2009-06-24 22:14                       ` Brian Swetland
2009-06-24 22:49                         ` Daniel Walker
2009-06-24 23:05                           ` Brian Swetland
2009-06-24 23:29                             ` Daniel Walker
2009-06-24 23:37                               ` Brian Swetland
2009-06-25  0:01                         ` Linus Walleij
2009-06-25  0:20                           ` Daniel Walker
2009-06-25  8:15                             ` Alan Cox
2009-06-25  9:56                               ` Marcel Holtmann
2009-06-17 21:38             ` Jeremy Fitzhardinge
2009-06-19 14:59   ` Pavel Machek
2009-06-19 15:08     ` Daniel Walker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1245586176.15367.62.camel@violet \
    --to=marcel@holtmann.org \
    --cc=arve@android.com \
    --cc=dwalker@fifo99.com \
    --cc=greg@kroah.com \
    --cc=hackbod@android.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=swetland@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.