
Fast interprocess messaging (2010) - luu
https://lwn.net/Articles/405346/
======
kapilvt
This article is painfully old...

cross memory attach landed in 3.2
[http://kernelnewbies.org/Linux_3.2#head-a5e26c6275e85a5c9c41...](http://kernelnewbies.org/Linux_3.2#head-a5e26c6275e85a5c9c41873fbab96bd38d934b72)

kdbus is coming, but its an entirely different implementation by gkh and
systemd folks, its not using AF_DBUS sockets, its bypassing the net stack and
using a char device.

a more relevant article on the current kdbus is
[https://lwn.net/Articles/580194/](https://lwn.net/Articles/580194/)

~~~
rubiquity
This article is from 2010 so it is well before kernel 3.2. This same author
has since wrote about kdbus here:
[http://lwn.net/Articles/580194/](http://lwn.net/Articles/580194/)

------
joosters
The eventual code commit has a useful description of the feature:

[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...](http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fcf634098c00dd9cd247447368495f0b79be12d1)

------
checker659
Aren't there any security implications of directly accessing another process's
memory?

~~~
hcarvalhoalves
> Either both processes must have the same ownership or the copying process
> must have the CAP_SYS_PTRACE capability; otherwise the copy will not be
> allowed.

------
yetanotherphd
Can someone fill me in on why IPC is important? I would have thought that most
parallelism was either within a process, or across machines.

~~~
angersock
Sure. My Rails app is talking to Postgres--why should I have to go through the
TCP stack for local communication? Why should my window manager have to use
that to send clipboard events?

------
justincormack
Well kdbus is arriving, but the copy to other process memory does not seem to
have.

~~~
yepguy
Maybe I'm misunderstanding your comment, but I think kdbus does allow you to
transfer ownership of some piece of memory to another process.

~~~
justincormack
Does it? I haven't seen that. It has single copy transfer, but I didnt see a
memory ownership transfer/sharing.

~~~
rcxdude
There is a zero-copy mode, but it only makes sense for pretty large messages
(>512k IIRC).

