From: "Tan, Jianfeng" <jianfeng.tan@intel.com>
To: dev@dpdk.org
Cc: anatoly.burakov@intel.com, bruce.richardson@intel.com,
konstantin.ananyev@intel.com, thomas@monjalon.net
Subject: Re: [PATCH v4 0/2] generic channel for multi-process communication
Date: Fri, 26 Jan 2018 03:15:53 +0800 [thread overview]
Message-ID: <811eed1f-e6ef-0738-0f2d-e4289a9e12ab@intel.com> (raw)
In-Reply-To: <1516907684-118975-1-git-send-email-jianfeng.tan@intel.com>
Apology, please ignore this version which is not correct. Will send out
a new version.
On 1/26/2018 3:14 AM, Jianfeng Tan wrote:
> v3->v4:
> - Drop the patch 3 on vfio communication (postponed).
> - Change names from rte_eal_mp_* -> rte_mp_* as suggested by Thomas.
> - Add nb_sent and nb_received in struct rte_mp_reply.
> - Standardize the return val of sendmsg, request, reply: 0 on sucess,
> (-1) on failure.
> - If we found an peer error when we send msg in primary, we try to
> remove the secondary socket; as there is no sync mechanism there
> (cannot do flock like regular file for socket file), we use a more
> complex socket name (with tsc in it).
> - Some other small changes.
>
> v2->v3:
> - Add pre-check for each APIs.
> - Remove the limitation of 8 secondary processes by: discard original
> register/unregister mechanism of secondary process, instead, primary
> discoveries secondary processes by looking up the folder for regex match.
> - Previous implementation use two sockets for msg and request, this version
> just uses one socket. And receive all kinds of messages in mp thread.
>
> v1->v2: (Address comments from Anatoly and Konstantin)
> - Use datagram unix socket to supersede stream unix socket + epoll.
> - Change the secondary add/del mechanism as now we use connection-less channel.
> - Add mp_mutex_action to sync action register/unregister/reference.
> - Limit max length of action name to 64B.
> - New APIs for synchronous communication: rte_eal_mp_request/rte_eal_mp_reply.
> - Formalize the errno handle.
> - Some other small issues.
>
> This patchset adds a generic channel for multi-process (primary/secondary)
> communication.
>
> Patch 1: addess the purpose and howto;
> Patch 2: add a syncrhonous way for the requests which need a immediate response.
>
> Jianfeng Tan (2):
> eal: add synchronous multi-process communication
> vfio: use the generic multi-process channel
>
> doc/guides/rel_notes/release_18_02.rst | 2 +
> lib/librte_eal/common/eal_common_proc.c | 254 +++++++++++++--
> lib/librte_eal/common/include/rte_eal.h | 58 +++-
> lib/librte_eal/linuxapp/eal/eal.c | 14 +-
> lib/librte_eal/linuxapp/eal/eal_vfio.c | 169 ++++------
> lib/librte_eal/linuxapp/eal/eal_vfio.h | 15 +-
> lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c | 410 ++++---------------------
> lib/librte_eal/rte_eal_version.map | 2 +
> 8 files changed, 429 insertions(+), 495 deletions(-)
>
next prev parent reply other threads:[~2018-01-25 19:15 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 18:44 [PATCH 0/3] generic channel for multi-process communication Jianfeng Tan
2017-11-30 18:44 ` [PATCH 1/3] eal: add " Jianfeng Tan
2017-12-11 11:04 ` Burakov, Anatoly
2017-12-11 16:43 ` Ananyev, Konstantin
2017-11-30 18:44 ` [PATCH 2/3] eal: add synchronous " Jianfeng Tan
2017-12-11 11:39 ` Burakov, Anatoly
2017-12-11 16:49 ` Ananyev, Konstantin
2017-11-30 18:44 ` [PATCH 3/3] vfio: use the generic multi-process channel Jianfeng Tan
2017-12-11 12:01 ` Burakov, Anatoly
2017-12-11 9:59 ` [PATCH 0/3] generic channel for multi-process communication Burakov, Anatoly
2017-12-12 7:34 ` Tan, Jianfeng
2017-12-12 16:18 ` Burakov, Anatoly
2018-01-11 4:07 ` [PATCH v2 0/4] " Jianfeng Tan
2018-01-11 4:07 ` [PATCH v2 1/4] eal: add " Jianfeng Tan
2018-01-13 12:57 ` Burakov, Anatoly
2018-01-15 19:52 ` Ananyev, Konstantin
2018-01-11 4:07 ` [PATCH v2 2/4] eal: add and del secondary processes in the primary Jianfeng Tan
2018-01-13 13:11 ` Burakov, Anatoly
2018-01-15 21:45 ` Ananyev, Konstantin
2018-01-11 4:07 ` [PATCH v2 3/4] eal: add synchronous multi-process communication Jianfeng Tan
2018-01-13 13:41 ` Burakov, Anatoly
2018-01-16 0:00 ` Ananyev, Konstantin
2018-01-16 8:10 ` Tan, Jianfeng
2018-01-16 11:12 ` Ananyev, Konstantin
2018-01-16 16:47 ` Tan, Jianfeng
2018-01-17 10:50 ` Ananyev, Konstantin
2018-01-17 13:09 ` Tan, Jianfeng
2018-01-17 13:15 ` Tan, Jianfeng
2018-01-17 17:20 ` Ananyev, Konstantin
2018-01-11 4:07 ` [PATCH v2 4/4] vfio: use the generic multi-process channel Jianfeng Tan
2018-01-13 14:03 ` Burakov, Anatoly
2018-03-04 14:57 ` [PATCH v5] vfio: change to use " Jianfeng Tan
2018-03-14 13:27 ` Burakov, Anatoly
2018-03-19 6:53 ` Tan, Jianfeng
2018-03-20 10:33 ` Burakov, Anatoly
2018-03-20 10:56 ` Burakov, Anatoly
2018-03-20 8:50 ` [PATCH v6] " Jianfeng Tan
2018-04-05 14:26 ` Tan, Jianfeng
2018-04-05 14:39 ` Burakov, Anatoly
2018-04-12 23:27 ` Thomas Monjalon
2018-04-12 15:26 ` Burakov, Anatoly
2018-04-15 15:06 ` [PATCH v7] " Jianfeng Tan
2018-04-15 15:10 ` Tan, Jianfeng
2018-04-17 23:04 ` Thomas Monjalon
2018-01-25 4:16 ` [PATCH v3 0/3] generic channel for multi-process communication Jianfeng Tan
2018-01-25 4:16 ` [PATCH v3 1/3] eal: add " Jianfeng Tan
2018-01-25 10:41 ` Thomas Monjalon
2018-01-25 11:27 ` Burakov, Anatoly
2018-01-25 11:34 ` Thomas Monjalon
2018-01-25 12:21 ` Ananyev, Konstantin
2018-01-25 4:16 ` [PATCH v3 2/3] eal: add synchronous " Jianfeng Tan
2018-01-25 12:00 ` Burakov, Anatoly
2018-01-25 12:19 ` Ananyev, Konstantin
2018-01-25 12:25 ` Burakov, Anatoly
2018-01-25 13:00 ` Ananyev, Konstantin
2018-01-25 13:05 ` Burakov, Anatoly
2018-01-25 13:10 ` Burakov, Anatoly
2018-01-25 15:03 ` Ananyev, Konstantin
2018-01-25 16:22 ` Burakov, Anatoly
2018-01-25 17:10 ` Tan, Jianfeng
2018-01-25 18:02 ` Burakov, Anatoly
2018-01-25 12:19 ` Burakov, Anatoly
2018-01-25 12:22 ` Ananyev, Konstantin
2018-01-25 4:16 ` [PATCH v3 3/3] vfio: use the generic multi-process channel Jianfeng Tan
2018-01-25 10:47 ` Thomas Monjalon
2018-01-25 10:52 ` Burakov, Anatoly
2018-01-25 10:57 ` Thomas Monjalon
2018-01-25 12:15 ` Burakov, Anatoly
2018-01-25 19:14 ` [PATCH v4 0/2] generic channel for multi-process communication Jianfeng Tan
2018-01-25 19:14 ` [PATCH v4 1/2] eal: add synchronous " Jianfeng Tan
2018-01-25 19:14 ` [PATCH v4 2/2] vfio: use the generic multi-process channel Jianfeng Tan
2018-01-25 19:15 ` Tan, Jianfeng [this message]
2018-01-25 19:21 ` [PATCH v5 0/2] generic channel for multi-process communication Jianfeng Tan
2018-01-25 19:21 ` [PATCH v5 1/2] eal: add " Jianfeng Tan
2018-01-25 19:21 ` [PATCH v5 2/2] eal: add synchronous " Jianfeng Tan
2018-01-25 21:23 ` [PATCH v5 0/2] generic channel for " Thomas Monjalon
2018-01-26 3:41 ` [PATCH v6 " Jianfeng Tan
2018-01-26 3:41 ` [PATCH v6 1/2] eal: add " Jianfeng Tan
2018-01-26 10:25 ` Burakov, Anatoly
2018-01-29 6:37 ` Tan, Jianfeng
2018-01-29 9:37 ` Burakov, Anatoly
2018-01-26 3:41 ` [PATCH v6 2/2] eal: add synchronous " Jianfeng Tan
2018-01-26 10:31 ` Burakov, Anatoly
2018-01-29 23:52 ` [PATCH v6 0/2] generic channel for " Thomas Monjalon
2018-01-30 6:58 ` [PATCH v7 " Jianfeng Tan
2018-01-30 6:58 ` [PATCH v7 1/2] eal: add " Jianfeng Tan
2018-01-30 6:58 ` [PATCH v7 2/2] eal: add synchronous " Jianfeng Tan
2018-01-30 14:46 ` [PATCH v7 0/2] generic channel for " 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=811eed1f-e6ef-0738-0f2d-e4289a9e12ab@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=thomas@monjalon.net \
/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.