linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sudeep Dutt <sudeep.dutt@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: sudeep.dutt@intel.com, Arnd Bergmann <arnd@arndb.de>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	Dave Jiang <dave.jiang@intel.com>,
	Nikhil Rao <nikhil.rao@intel.com>,
	Ashutosh Dixit <ashutosh.dixit@intel.com>
Subject: Re: [PATCH char-misc-next 02/13] misc: mic: SCIF ring buffer infrastructure
Date: Fri, 09 Jan 2015 16:28:19 -0800	[thread overview]
Message-ID: <1420849699.6393.33.camel@rbtaylor-desk1.amr.corp.intel.com> (raw)
In-Reply-To: <20150109230526.GB3614@kroah.com>

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



  reply	other threads:[~2015-01-10  0:28 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-10 19:47 [PATCH char-misc-next 00/13] misc: mic: SCIF driver Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 01/13] misc: mic: SCIF header file and IOCTL interface Sudeep Dutt
2015-01-09 23:04   ` Greg Kroah-Hartman
2015-01-09 23:57     ` Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 02/13] misc: mic: SCIF ring buffer infrastructure Sudeep Dutt
2015-01-09 23:05   ` Greg Kroah-Hartman
2015-01-10  0:28     ` Sudeep Dutt [this message]
2015-01-10  0:47       ` Greg Kroah-Hartman
2014-12-10 19:47 ` [PATCH char-misc-next 03/13] misc: mic: SCIF Hardware Bus Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 04/13] misc: mic: SCIF Peer Bus Sudeep Dutt
2015-01-09 23:07   ` Greg Kroah-Hartman
2015-01-09 23:58     ` Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 05/13] misc: mic: Common MIC header file changes in preparation for SCIF Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 06/13] misc: mic: SCIF module initialization Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 07/13] misc: mic: SCIF node queue pair setup management Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 08/13] misc: mic: SCIF open close bind and listen APIs Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 09/13] misc: mic: SCIF connections APIs i.e. accept and connect Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 10/13] misc: mic: SCIF messaging and node enumeration APIs Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 11/13] misc: mic: MIC host driver specific changes to enable SCIF Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 12/13] misc: mic: MIC card " Sudeep Dutt
2014-12-10 19:47 ` [PATCH char-misc-next 13/13] misc: mic: add support for loading/unloading SCIF driver Sudeep Dutt

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=1420849699.6393.33.camel@rbtaylor-desk1.amr.corp.intel.com \
    --to=sudeep.dutt@intel.com \
    --cc=arnd@arndb.de \
    --cc=ashutosh.dixit@intel.com \
    --cc=corbet@lwn.net \
    --cc=dave.jiang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nikhil.rao@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).