From: Javier Martinez Canillas <javier.martinez@collabora•co.uk>
To: Javier Martinez Canillas <martinez.javier@gmail•com>
Cc: Eric Dumazet <eric.dumazet@gmail•com>,
Luiz Augusto von Dentz <luiz.dentz@gmail•com>,
Rodrigo Moya <rodrigo.moya@collabora•co.uk>,
David Laight <David.Laight@aculab•com>,
David Miller <davem@davemloft•net>,
javier@collabora•co.uk, lennart@poettering•net,
kay.sievers@vrfy•org, alban.crequy@collabora•co.uk,
bart.cerneels@collabora•co.uk, sjoerd.simons@collabora•co.uk,
netdev@vger•kernel.org, linux-kernel@vger•kernel.org
Subject: Re: [PATCH 0/10] af_unix: add multicast and filtering features to AF_UNIX
Date: Thu, 01 Mar 2012 20:29:04 +0100 [thread overview]
Message-ID: <4F4FCE00.6060302@collabora.co.uk> (raw)
In-Reply-To: <CAAwP0s3Awu9-d5KDgBEdSrNmAJraL0JRO+Z6XVgYk6LX4djKyQ@mail.gmail.com>
On 03/01/2012 08:02 PM, Javier Martinez Canillas wrote:
> On Thu, Mar 1, 2012 at 6:59 PM, Eric Dumazet <eric.dumazet@gmail•com> wrote:
>> Le 1 mars 2012 08:02, Luiz Augusto von Dentz <luiz.dentz@gmail•com> a écrit :
>>>
>>> Contrary to someones believes I don't think AF_INET is that fast (e.g.
>>> http://scottmoonen.com/2008/04/05/a-performance-comparison-of-af_unix-with-loopback-on-linux/)
>>>
>>
>> Oh you mention a recent zork it seems ;)
>>
>> Are we speaking of performance problems, apart from scheduler problems
>> for D-Bus (each message wakeing all receivers, all receivers read and
>> drop message but the target) ?
>>
>
> Hi Eric,
>
> The only performance problem we are talking about is the scheduling
> for D-bus (context switch to the daemon for each message). With today
> implementation the receivers only gets messages that were sent to it
> but the D-bus daemon has to be wake it up for every message to he can
> do the routing. For multicast messages (i.e: D-bus signals) this is
> even worse since the daemon has to do a send() for each receiver.
>
>> I am actually one of the few people working to improve performance on
>> both AF_INET and AF_UNIX parts. Just take a look at recent commits.
>>
>> Right now you can send/receive millions of udp messages per second on
>> your linux machine, if you figured out how to avoid process scheduler
>> costs. If D-Bus wants more, I highly suggest using shared memory
>> instead of passing messages.
>> --
>
> Yes, I also thought that AF_UNIX would be more efficient than AF_INET
> but I was wrong. Yesterday I wrote some tests using our multicast unix
> socket, UDP multicast over IP on a single machine and even multicast
> using AF_NETLINK sockets and got very similar performance results.
>
> The only problem is the ordering and control flow requirements for D-bus.
>
And the fd passing for out-ouf-band communication used for some D-bus
application such as oFono and BlueZ.
Regards,
Javier
next prev parent reply other threads:[~2012-03-01 19:28 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-20 15:57 [PATCH 0/10] af_unix: add multicast and filtering features to AF_UNIX Javier Martinez Canillas
2012-02-20 15:57 ` [PATCH 01/10] af_unix: Documentation on multicast unix sockets Javier Martinez Canillas
2012-02-20 15:57 ` [PATCH 02/10] af_unix: Add constant for unix socket options level Javier Martinez Canillas
2012-02-20 15:57 ` [PATCH 03/10] af_unix: add setsockopt on unix sockets Javier Martinez Canillas
2012-02-20 16:20 ` David Miller
2012-02-20 19:13 ` [PATCH 0/10] af_unix: add multicast and filtering features to AF_UNIX Colin Walters
2012-02-21 8:07 ` Rodrigo Moya
2012-02-24 20:36 ` David Miller
2012-02-27 14:00 ` Javier Martinez Canillas
2012-02-27 19:05 ` David Miller
2012-02-28 10:47 ` Rodrigo Moya
2012-02-28 14:28 ` David Lamparter
2012-02-28 15:24 ` Javier Martinez Canillas
2012-02-28 16:33 ` Javier Martinez Canillas
2012-02-28 19:05 ` David Miller
2012-03-01 11:57 ` Javier Martinez Canillas
2012-03-01 12:26 ` Eric Dumazet
2012-03-01 12:33 ` David Laight
2012-03-01 12:50 ` Rodrigo Moya
2012-03-01 12:59 ` Eric Dumazet
2012-03-01 13:56 ` Javier Martinez Canillas
2012-03-01 16:00 ` Eric Dumazet
2012-03-01 16:02 ` Luiz Augusto von Dentz
2012-03-01 17:06 ` Javier Martinez Canillas
2012-03-01 17:59 ` Eric Dumazet
2012-03-01 18:10 ` Alan Cox
2012-03-01 19:02 ` Javier Martinez Canillas
2012-03-01 19:29 ` Javier Martinez Canillas [this message]
2012-03-01 18:53 ` David Dillow
2012-03-01 20:55 ` David Miller
2012-03-02 4:40 ` Stephen Hemminger
2012-03-01 20:44 ` David Miller
2012-03-01 22:01 ` Luiz Augusto von Dentz
2012-03-01 22:08 ` David Miller
2012-03-02 8:39 ` Luiz Augusto von Dentz
2012-03-02 8:55 ` David Miller
2012-03-02 9:27 ` Javier Martinez Canillas
2012-03-02 9:39 ` David Miller
2012-03-02 13:13 ` Eric Dumazet
2012-03-02 16:34 ` Javier Martinez Canillas
2012-03-02 17:08 ` Alan Cox
2012-03-05 8:38 ` Luiz Augusto von Dentz
2012-03-05 14:05 ` Martin Mares
2012-03-05 15:11 ` Javier Martinez Canillas
2012-03-05 15:49 ` Martin Mares
2012-03-05 18:55 ` David Lamparter
2012-03-02 10:08 ` Luiz Augusto von Dentz
2012-03-03 12:20 ` Martin Mares
2012-03-02 22:19 ` david
2012-03-01 12:57 ` Luiz Augusto von Dentz
2012-03-01 20:42 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2012-03-01 14:25 Erik Hugne
2012-03-01 17:18 ` Rodrigo Moya
2012-03-02 7:01 ` Ying Xue
[not found] ` <4F506ABC.8050807@windriver.com>
2012-03-05 15:49 ` Erik Hugne
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=4F4FCE00.6060302@collabora.co.uk \
--to=javier.martinez@collabora$(echo .)co.uk \
--cc=David.Laight@aculab$(echo .)com \
--cc=alban.crequy@collabora$(echo .)co.uk \
--cc=bart.cerneels@collabora$(echo .)co.uk \
--cc=davem@davemloft$(echo .)net \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=javier@collabora$(echo .)co.uk \
--cc=kay.sievers@vrfy$(echo .)org \
--cc=lennart@poettering$(echo .)net \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=luiz.dentz@gmail$(echo .)com \
--cc=martinez.javier@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=rodrigo.moya@collabora$(echo .)co.uk \
--cc=sjoerd.simons@collabora$(echo .)co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox