lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 23 Mar 2015 16:28:51 +0100
From:	David Herrmann <dh.herrmann@...il.com>
To:	Andy Lutomirski <luto@...capital.net>
Cc:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Arnd Bergmann <arnd@...db.de>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>,
	Tom Gundersen <teg@...m.no>, Jiri Kosina <jkosina@...e.cz>,
	Linux API <linux-api@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Daniel Mack <daniel@...que.org>,
	Djalal Harouni <tixxdz@...ndz.org>
Subject: Re: [PATCH v4 00/14] Add kdbus implementation

Hi

On Thu, Mar 19, 2015 at 4:48 PM, Andy Lutomirski <luto@...capital.net> wrote:
> On Thu, Mar 19, 2015 at 4:26 AM, David Herrmann <dh.herrmann@...il.com> wrote:
>> metadata handling is local to the connection that sends the message.
>> It does not affect the overall performance of other bus operations in
>> parallel.
>
> Sure it does if it writes to shared cachelines.  Given that you're
> incrementing refcounts, I'm reasonable sure that you're touching lots
> of shared cachelines.

Ok, sure, but it's still mostly local to the sending task. We take
locks and ref-counts on the task-struct and mm, which is for most
parts local to the CPU the task runs on. But this is inherent to
accessing this kind of data, which is the fundamental difference in
our views here, as seen below..

>> Furthermore, it's way faster than collecting the "same" data
>> via /proc, so I don't think it slows down the overall transaction at
>> all. If a receiver doesn't want metadata, it should not request it (by
>> setting the receiver-metadata-mask). If a sender doesn't like the
>> overhead, it should not send the metadata (by setting the
>> sender-metadata-mask). Only if both peers set the metadata mask, it
>> will be transmitted.
>
> But you're comparing to the wrong thing, IMO.  Of course it's much
> faster than /proc hackery, but it's probably much slower to do the
> metadata operation once per message than to do it when you connect to
> the endpoint.  (Gah!  It's a "bus" that could easily have tons of
> users but a single "endpoint".  I'm still not used to it.)

Yes, of course your assumption is right if you compare against
per-connection caches, instead of per-message metadata. But we do
support _both_ use-cases, so we don't impose any policy.
We still believe "live"-metadata is a crucial feature of kdbus,
despite the known performance penalties.

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ