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]
Message-ID: <1420849699.6393.33.camel@rbtaylor-desk1.amr.corp.intel.com>
Date:	Fri, 09 Jan 2015 16:28:19 -0800
From:	Sudeep Dutt <sudeep.dutt@...el.com>
To:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:	sudeep.dutt@...el.com, Arnd Bergmann <arnd@...db.de>,
	Jonathan Corbet <corbet@....net>, linux-kernel@...r.kernel.org,
	linux-doc@...r.kernel.org, Dave Jiang <dave.jiang@...el.com>,
	Nikhil Rao <nikhil.rao@...el.com>,
	Ashutosh Dixit <ashutosh.dixit@...el.com>
Subject: Re: [PATCH char-misc-next 02/13] misc: mic: SCIF ring buffer
 infrastructure

On Fri, 2015-01-09 at 15:05 -0800, Greg Kroah-Hartman wrote:
> On Wed, Dec 10, 2014 at 11:47:42AM -0800, Sudeep Dutt wrote:
> > SCIF ring buffer is a single producer, single consumer byte stream ring
> > buffer optimized for avoiding reads across the PCIe bus. The ring buffer is
> > used to implement a receive queue for SCIF driver messaging between nodes and
> > for byte stream messaging between SCIF endpoints. Each SCIF node has a
> > receive queue for every other SCIF node, and each connected endpoint has a
> > receive queue for messages from its peer. This pair of receive queues is
> > referred to as a SCIF queue pair.
> 
> And the reason you aren't using the built-in kernel ring buffer code is
> why?
> 

This simple byte stream ring buffer is in our performance data path for
small messages and is optimized to avoid reads across the PCIe bus while
adding the required barriers and hardware workarounds for the MIC
Coprocessor. I will add some more documentation here in the v2 which I
will post early next week. 

We did not find other ring buffers in the kernel which were tailored for
our use case across PCIe. I am guessing (please correct me) that you are
referring to the ring buffer in include/linux/ring_buffer.h. It does not
seem to be designed for being used between two independent OS's across
the PCIe bus. Please let me know your thoughts.

Thanks,
Sudeep Dutt


--
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