All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tan, Jianfeng" <jianfeng.tan@intel.com>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"Pattan, Reshma" <reshma.pattan@intel.com>,
	"viktorin@rehivetech.com" <viktorin@rehivetech.com>
Subject: Re: [PATCH v2 07/12] eal: add channel for primary/secondary communication
Date: Fri, 29 Sep 2017 01:03:48 +0000	[thread overview]
Message-ID: <ED26CBA2FAD1BF48A8719AEF02201E36512FA4DC@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <cda99f5f-7355-8bcf-1291-798ef0028c89@intel.com>

+ Reshma and Jan.

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Burakov, Anatoly
> Sent: Thursday, September 28, 2017 11:30 PM
> To: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2 07/12] eal: add channel for
> primary/secondary communication
> 
> On 28-Sep-17 4:01 PM, Ananyev, Konstantin wrote:
> > Hi Jianfeng,
> >
> >
> >> -----Original Message-----
> >> From: Tan, Jianfeng
> >> Sent: Thursday, September 28, 2017 2:56 PM
> >> To: dev@dpdk.org
> >> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Ananyev,
> Konstantin <konstantin.ananyev@intel.com>; De Lara Guarch, Pablo
> >> <pablo.de.lara.guarch@intel.com>; thomas@monjalon.net;
> yliu@fridaylinux.org; maxime.coquelin@redhat.com; mtetsuyah@gmail.com;
> >> Yigit, Ferruh <ferruh.yigit@intel.com>; Tan, Jianfeng
> <jianfeng.tan@intel.com>
> >> Subject: [PATCH v2 07/12] eal: add channel for primary/secondary
> communication
> >>
> >> Previouly, there is only one way for primary/secondary to exchange
> >> messages, that is, primary process writes info into some predefind
> >> file, and secondary process reads info out. That cannot address
> >> the requirements:
> >>    a. Secondary wants to send info to primary, for example, secondary
> >>       would like to send request (about some specific vdev to primary).
> >>    b. Sending info at any time, instead of just initialization time.
> >>    c. Share FDs with the other side, for vdev like vhost, related FDs
> >>       (memory region, kick) should be shared.
> >>
> >> This patch proposes to create a communication channel, as an unix
> >> socket connection, for above requirements. Primary will listen on
> >> the unix socket; secondary will connect this socket to talk.
> >>
> >> Three new APIs are added:
> >>
> >>    1. rte_eal_mp_action_register is used to register an action,
> >>       indexed by a string; if the calling component wants to
> >>       response the messages from the corresponding component in
> >>       its primary process or secondary processes.
> >>    2. rte_eal_mp_action_unregister is used to unregister the action
> >>       if the calling component does not want to response the messages.
> >>    3. rte_eal_mp_sendmsg is used to send a message.
> >
> > I think we already have similar channel in librte_pdump().
> > Also it seems like eal_vfio also has it's own socket to communicate
> between mp/sp.
> > Could we probably make it generic - so same code (and socket) be used by
> all such  places.
> > Konstantin
> >
> 
> Agreed, however looking at this, it's already a generic-enough solution,
> and other places could be fixed to use this in later releases.

Yes, to provide a generic communication way, instead of one channel for each subsystem, is the goal of this patch.

Reshma and Jan, can I ask comment from you to have a look if the way of this patch is generic enough to cover pdump and vfio-sync's requirement?

Possible limitation of this patch (so far) is that it only provides an async way for request/response, do we need synchronous way?

> That said, i believe this particular part of the patchset should go in as a
> separate patchset and more design consideration and input from others.

OK, let's collect more info here, and then take out this patch out as a separate patch.

Thanks,
Jianfeng


  reply	other threads:[~2017-09-29  1:03 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-25  9:40 [PATCH 00/12] support to run vdev in the secondary process Jianfeng Tan
2017-08-25  9:40 ` [PATCH 01/12] cryptodev: remove crypto vdev init Jianfeng Tan
2017-09-18 11:48   ` De Lara Guarch, Pablo
2017-08-25  9:40 ` [PATCH 02/12] eal: avoid calling rte_vdev_init() Jianfeng Tan
2017-08-29 12:50   ` Gaëtan Rivet
2017-08-29 22:25     ` Tan, Jianfeng
2017-08-25  9:40 ` [PATCH 03/12] crypto: move vdev helper functions into dedicated file Jianfeng Tan
2017-09-18 11:51   ` De Lara Guarch, Pablo
2017-08-25  9:40 ` [PATCH 04/12] vdev: move to drivers/bus Jianfeng Tan
2017-08-29 13:04   ` Gaëtan Rivet
2017-08-29 22:47     ` Tan, Jianfeng
2017-09-18 11:47       ` De Lara Guarch, Pablo
2017-09-19  6:01         ` Tan, Jianfeng
2017-08-25  9:40 ` [PATCH 05/12] bus/vdev: change log type from EAL to PMD Jianfeng Tan
2017-08-29 12:54   ` Gaëtan Rivet
2017-08-29 22:27     ` Tan, Jianfeng
2017-08-25  9:40 ` [PATCH 06/12] eal: add channel for primary/secondary communication Jianfeng Tan
2017-09-18 13:49   ` Jiayu Hu
2017-09-21  6:11     ` Tan, Jianfeng
2017-09-20  3:00   ` Jiayu Hu
2017-09-21  6:53     ` Tan, Jianfeng
2017-09-27 12:19   ` Yuanhan Liu
2017-09-28 13:50     ` Tan, Jianfeng
2017-09-29  1:24       ` Yuanhan Liu
2017-09-29 10:09         ` Burakov, Anatoly
2017-09-29 10:25           ` Yuanhan Liu
2017-08-25  9:40 ` [PATCH 07/12] bus/vdev: scan and probe vdev in secondary processes Jianfeng Tan
2017-08-25  9:40 ` [PATCH 08/12] ethdev: support attach vdev in secondary process Jianfeng Tan
2017-08-25  9:40 ` [PATCH 09/12] vhost: allocate virtio_net in memzone Jianfeng Tan
2017-08-25  9:40 ` [PATCH 10/12] vhost: support to kick in secondary process Jianfeng Tan
2017-09-21  3:33   ` Yuanhan Liu
2017-09-21  7:04     ` Tan, Jianfeng
2017-09-21  9:17       ` Yuanhan Liu
2017-09-22  2:30         ` Tan, Jianfeng
2017-09-27  9:36           ` Yuanhan Liu
2017-09-28  5:10             ` Tan, Jianfeng
2017-09-28  8:09             ` Tan, Jianfeng
2017-09-30  8:18               ` Yuanhan Liu
2017-09-30 10:50                 ` Tan, Jianfeng
2017-08-25  9:40 ` [PATCH 11/12] net/vhost: support to run in the " Jianfeng Tan
2017-09-21  4:29   ` Yuanhan Liu
2017-08-25  9:40 ` [PATCH 12/12] examples/helloworld: do not exit automatically Jianfeng Tan
2017-09-18 11:44   ` De Lara Guarch, Pablo
2017-09-19  5:07     ` Tan, Jianfeng
2017-09-28 13:55 ` [PATCH v2 00/12] support to run vdev in the secondary process Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 01/12] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 02/12] eal: avoid calling rte_vdev_init() Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 03/12] cryptodev: avoid dependency on rte_vdev.h Jianfeng Tan
2017-10-05 13:13     ` Jan Blunck
2017-10-09  1:04       ` Tan, Jianfeng
2017-09-28 13:55   ` [PATCH v2 04/12] bus/fslmc: introduce RTE_LOGTYPE_BUS for bus drivers Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 05/12] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 06/12] bus/vdev: normalize log type Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 07/12] eal: add channel for primary/secondary communication Jianfeng Tan
2017-09-28 15:01     ` Ananyev, Konstantin
2017-09-28 15:29       ` Burakov, Anatoly
2017-09-29  1:03         ` Tan, Jianfeng [this message]
2017-09-29 10:00           ` Burakov, Anatoly
2017-09-30  4:07             ` Tan, Jianfeng
2017-10-02 10:08               ` Burakov, Anatoly
2017-10-05 12:01     ` Jan Blunck
2017-10-09  1:27       ` Tan, Jianfeng
2017-09-28 13:55   ` [PATCH v2 08/12] bus/vdev: scan and probe vdev in secondary processes Jianfeng Tan
2017-10-05 13:04     ` Jan Blunck
2017-10-09  1:08       ` Tan, Jianfeng
2017-09-28 13:55   ` [PATCH v2 09/12] ethdev: support attach vdev in secondary process Jianfeng Tan
2017-10-05 14:26     ` Jan Blunck
2017-10-09  0:56       ` Tan, Jianfeng
2017-09-28 13:55   ` [PATCH v2 10/12] vhost: allocate virtio_net in memzone Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 11/12] vhost: support to kick in secondary process Jianfeng Tan
2017-09-28 13:55   ` [PATCH v2 12/12] net/vhost: support to run in the " Jianfeng Tan
2017-09-29  8:28     ` Yuanhan Liu
2017-09-30  4:03       ` Tan, Jianfeng
2017-09-30  8:16         ` Yuanhan Liu
2017-09-30 10:06           ` Tan, Jianfeng
2017-09-30 11:49           ` Yuanhan Liu
2017-10-01 23:48             ` Tan, Jianfeng
2017-09-30  8:23     ` Yuanhan Liu
2017-09-30 10:53       ` Tan, Jianfeng
2017-09-30 11:34       ` Yuanhan Liu
2017-10-01 23:46         ` Tan, Jianfeng
2017-10-09  3:20 ` [PATCH v3 0/5] move vdev into drivers/bus Jianfeng Tan
2017-10-09  3:20   ` [PATCH v3 1/5] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-09  3:20   ` [PATCH v3 2/5] eal: avoid calling rte_vdev_init() Jianfeng Tan
2017-10-09  3:20   ` [PATCH v3 3/5] bus: introduce RTE_LOGTYPE_BUS for bus drivers Jianfeng Tan
2017-10-09  3:20   ` [PATCH v3 4/5] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-09  3:20   ` [PATCH v3 5/5] bus/vdev: normalize log type Jianfeng Tan
2017-10-09 10:55   ` [PATCH v4 0/5] move vdev into drivers/bus Jianfeng Tan
2017-10-09 10:55     ` [PATCH v4 1/5] bus/vdev: scan and probe vdev in secondary processes Jianfeng Tan
2017-10-09 10:55     ` [PATCH v4 2/5] ethdev: support attach vdev in secondary process Jianfeng Tan
2017-10-09 10:55     ` [PATCH v4 3/5] vhost: allocate virtio_net in memzone Jianfeng Tan
2017-10-09 10:55     ` [PATCH v4 4/5] vhost: support to kick in secondary process Jianfeng Tan
2017-10-09 10:55     ` [PATCH v4 5/5] net/vhost: support to run in the " Jianfeng Tan
2017-10-09 11:08     ` [PATCH v4 0/5] move vdev into drivers/bus Tan, Jianfeng
2017-10-09 11:27   ` [PATCH v5 " Jianfeng Tan
2017-10-09 11:27     ` [PATCH v5 1/5] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-09 11:27     ` [PATCH v5 2/5] eal: remove dependency on vdev Jianfeng Tan
2017-10-09 11:27     ` [PATCH v5 3/5] bus: introduce new log type for bus drivers Jianfeng Tan
2017-10-11  6:54       ` Shreyansh Jain
2017-10-11 10:42         ` Tan, Jianfeng
2017-10-11 11:20           ` Shreyansh Jain
2017-10-12  2:14             ` Tan, Jianfeng
2017-10-09 11:27     ` [PATCH v5 4/5] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-09 11:27     ` [PATCH v5 5/5] bus/vdev: normalize log type Jianfeng Tan
2017-10-12  8:46   ` [PATCH v6 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-12  8:46     ` [PATCH v6 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-12 10:06       ` Thomas Monjalon
2017-10-12  8:46     ` [PATCH v6 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-12  8:46     ` [PATCH v6 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-12  8:46     ` [PATCH v6 4/4] bus/vdev: change log type Jianfeng Tan
2017-10-13  2:04   ` [PATCH v7 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-13  2:04     ` [PATCH v7 1/4] ethdev: support attach vdev in secondary process Jianfeng Tan
2017-10-13  2:04     ` [PATCH v7 2/4] vhost: allocate virtio_net in memzone Jianfeng Tan
2017-10-13  2:04     ` [PATCH v7 3/4] vhost: support to kick in secondary process Jianfeng Tan
2017-10-13  2:04     ` [PATCH v7 4/4] net/vhost: support to run in the " Jianfeng Tan
2017-10-13  8:26     ` [PATCH v7 0/4] move vdev into drivers/bus Thomas Monjalon
2017-10-13 11:49       ` Tan, Jianfeng
2017-10-13 11:51   ` Jianfeng Tan
2017-10-13 11:51     ` [PATCH v7 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-23 10:06       ` De Lara Guarch, Pablo
2017-10-13 11:51     ` [PATCH v7 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-13 11:52     ` [PATCH v7 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-23 14:34       ` De Lara Guarch, Pablo
2017-10-13 11:52     ` [PATCH v7 4/4] bus/vdev: change log type Jianfeng Tan
2017-10-25 17:10   ` [PATCH v8 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-25 17:10     ` [PATCH v8 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-25 17:10     ` [PATCH v8 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-25 17:10     ` [PATCH v8 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-25 21:32       ` De Lara Guarch, Pablo
2017-10-25 23:03       ` Gaëtan Rivet
2017-10-25 17:10     ` [PATCH v8 4/4] bus/vdev: change log type Jianfeng Tan
2017-10-27  1:06   ` [PATCH v0 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-27  1:06     ` [PATCH v9 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-27  1:06     ` [PATCH v9 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-27  1:06     ` [PATCH v9 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-27  7:56       ` Thomas Monjalon
2017-10-27  8:19         ` Tan, Jianfeng
2017-10-27  8:53           ` Thomas Monjalon
2017-10-27 16:57             ` Gaëtan Rivet
2017-10-27  1:06     ` [PATCH v9 4/4] bus/vdev: change log type Jianfeng Tan
2017-10-27  3:23   ` [PATCH v10 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-27  3:23     ` [PATCH v10 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-27  3:23     ` [PATCH v10 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-27  3:23     ` [PATCH v10 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-10-27  3:23     ` [PATCH v10 4/4] bus/vdev: change log type Jianfeng Tan
2017-10-30  8:28   ` [PATCH v11 0/4] move vdev into drivers/bus Jianfeng Tan
2017-10-30  8:28     ` [PATCH v11 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-10-30  8:28     ` [PATCH v11 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-10-30  8:28     ` [PATCH v11 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-11-07  2:43       ` Thomas Monjalon
2017-11-07  6:21         ` Tan, Jianfeng
2017-10-30  8:28     ` [PATCH v11 4/4] bus/vdev: change log type Jianfeng Tan
2017-11-07  6:54   ` [PATCH v12 0/4] move vdev into drivers/bus Jianfeng Tan
2017-11-07  6:54     ` [PATCH v12 1/4] cryptodev: remove crypto vdev init API Jianfeng Tan
2017-11-07  6:54     ` [PATCH v12 2/4] eal: remove dependency on vdev Jianfeng Tan
2017-11-07  6:54     ` [PATCH v12 3/4] bus/vdev: move to vdev bus to drivers/bus Jianfeng Tan
2017-11-07  6:54     ` [PATCH v12 4/4] bus/vdev: change log type Jianfeng Tan
2017-11-07 15:43     ` [PATCH v12 0/4] move vdev into drivers/bus Thomas Monjalon

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=ED26CBA2FAD1BF48A8719AEF02201E36512FA4DC@SHSMSX103.ccr.corp.intel.com \
    --to=jianfeng.tan@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=reshma.pattan@intel.com \
    --cc=viktorin@rehivetech.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 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.