All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Michele Rodolfi <michele.rodolfi@t3lab.it>
Cc: Matteo Sartori <matteo.sartori@t3lab.it>,
	Claudio Salati <claudio.salati@t3lab.it>,
	linux-remoteproc@vger.kernel.org,
	Alessio Paccoia <alessio.paccoia@t3lab.it>,
	marek.novak@nxp.com
Subject: Re: rpmsg: socket ipc based on rpmsg
Date: Wed, 19 Oct 2016 11:51:45 -0700	[thread overview]
Message-ID: <20161019185145.GK7509@tuxbot> (raw)
In-Reply-To: <CAHXzriGGGVdgVEXTae5df3AUdAa+4zzwPV8iEfSAO4XhFR9TLw@mail.gmail.com>

On Mon 10 Oct 03:30 PDT 2016, Michele Rodolfi wrote:

> Hi Bjorn, hi all

Hi Michele

> I just want to clarify that the patch I sent, which implements a
> socket interface, was not meant to export the bus interface to the
> user level, but rather adds a new transport protocol level allowing
> user threads residing in different cores and different OSs to
> communicate using socket as in a classic network scenario.

Thanks for clarifying. This is what your patch implemented, I just
assumed it was related to the ongoing discussions on how to expose
channels to user space, sorry about that.

> This transport protocol, we can call it RPMSG_DGRAM_PROTO, uses rpmsg
> as data-link layer and uses its own mux/demux system based on port
> numbers as in UDP. These port numbers are not the rpmsg endpoints.
> RPMSG_DGRAM_PROTO indeed relies on one single rpmsg endpoint and the
> user threads don't need to know it.

Ok

> The driver initiates the socket interface upon the creation of a rpmsg
> channel named "rpmsg-proto" (this is how the code works now, but maybe
> "rpmsg-dgram-proto" is a better choice), therefore the protocol is
> bound to the local endpoint of that channel.

Initiating this on basis of a specific rpmsg channel coming and going is
good. It's important to handle the case with multiple remoteprocs
exposing the same interface - which I believe you handled in your patch.

> Basically I want to enable threads to perform IPC using socket over
> rpmsg in a Network On Chip scenario.

Can you elaborate on the benefits in introducing this mechanism in your
case?

> Of course I needed to figure out how to statically address the remote
> processors and I did it using aliases in the device tree.

As far as I understand, the aliases approach is not going to be accepted
by the DeviceTree maintainers.

> I think there may be use cases that can exploit this approach.
> What do you think?
> 

You have such a mechanism implemented in the Qualcomm platform
(net/qrtr), where packets are routed to ports on the various
co-processors in the system. The underlaying mechanism there is a
point-to-point non-muxing channel, so an additional layer is needed to
reduce the resource usage from using native channels directly.

Regards,
Bjorn

  reply	other threads:[~2016-10-19 18:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-10 10:30 rpmsg: socket ipc based on rpmsg Michele Rodolfi
2016-10-19 18:51 ` Bjorn Andersson [this message]
2016-11-24 11:48   ` Michele Rodolfi

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=20161019185145.GK7509@tuxbot \
    --to=bjorn.andersson@linaro.org \
    --cc=alessio.paccoia@t3lab.it \
    --cc=claudio.salati@t3lab.it \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=marek.novak@nxp.com \
    --cc=matteo.sartori@t3lab.it \
    --cc=michele.rodolfi@t3lab.it \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.