lkml.org 
[lkml]   [2015]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH char-misc-next 02/13] misc: mic: SCIF ring buffer infrastructure
    From
    Date
    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




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