lkml.org 
[lkml]   [2015]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH char-misc-next 02/13] misc: mic: SCIF ring buffer infrastructure
On Fri, Jan 09, 2015 at 04:28:19PM -0800, Sudeep Dutt wrote:
> 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.

No, it's designed for an in-kernel ringbuffer, so you need to document
exactly this.

thanks,

greg k-h


\
 
 \ /
  Last update: 2015-01-10 02:01    [W:0.031 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site