Signed-off-by: Jianfeng Tan
---
MAINTAINERS | 3 ---
1 file changed, 3 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index ce06e93..a482470 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -393,7 +393,6 @@ PCI bus driver
F: drivers/bus/pci/
VDEV bus driver
-M: Jianfeng Tan
F: drivers
it's caused by use-after-free.
Fixes: 3d09a6e26d8b ("eal: fix threads block on barrier")
Reported-by: Maxime Coquelin
Reported-by: Lei Yao
Suggested-by: Stephen Hemminger
Signed-off-by: Jianfeng Tan
Suggested-by: Olivier Matz
---
v1->v2:
- Destroy barrier if failur
params is not freed if pthread_create() fails. The fix is
straight-forward.
Fixes: 3d09a6e26d8b ("eal: fix threads block on barrier")
Reported-by: Olivier Matz
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_thread.c | 4 +++-
1 file changed, 3 insertions(+),
it's caused by use-after-free.
Fixes: 3d09a6e26d8b ("eal: fix threads block on barrier")
Reported-by: Maxime Coquelin
Reported-by: Lei Yao
Suggested-by: Stephen Hemminger
Signed-off-by: Jianfeng Tan
---
v1->v2:
- Destroy barrier if failure happens.
lib/librte_eal/common/e
it's caused by use-after-free.
Fixes: 3d09a6e26d8b ("eal: fix threads block on barrier")
Reported-by: Maxime Coquelin
Reported-by: Lei Yao
Suggested-by: Stephen Hemminger
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_thread.c | 14 +++---
1 f
ntrol threads")
Cc: Olivier Matz
Cc: Anatoly Burakov
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_thread.c | 20 +---
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_thread.c
b/lib/librte_eal/common/eal_commo
files; and adjust the size after
the enumeration.
Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")
Signed-off-by: Jianfeng Tan
---
.../howto/virtio_user_for_container_networking.rst | 3 ++-
drivers/net/virtio/virtio_user/vhost_user.c| 28 +++
resize_hugefile() returns either 0 (which indicates success) or -1
(which indicates failure). We failed to check the success as we
use --single-file-segments option.
Fixes: 2a04139f66b4 ("eal: add single file segments option")
Cc: Anatoly Burakov
Signed-off-by: Jianfeng Tan
which do not
support multi-process.
Reported-by: Signed-off-by: Vipin Varghese
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
doc/guides/rel_notes/release_18_05.rst| 5 +
drivers/net/af_packet/rte_eth_af_packet.c | 17 +++--
drivers/net/bonding/rte_eth_bond_pmd.c
As we could add virtual devices from different threads now, we
add a spin lock to protect the vdev device list.
Suggested-by: Anatoly Burakov
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
Acked-by: Anatoly Burakov
---
drivers/bus/vdev/vdev.c | 95
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.
Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi
Adjust the init sequence: put mp channel init before bus scan
so that we can init the vdev bus through mp channel in the
secondary process before the bus scan.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
lib/librte_eal/bsdapp/eal/eal.c | 23 +--
lib/librte_eal
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
drivers/net/af_packet/rte_eth_af_packet.c | 26 +++---
drivers/net/cxgbe/cxgbe_main.c| 1 -
drivers/net/kni/rte_eth_kni.c | 14 ++
drivers/net/null/rte_eth_null.c | 19
pmd with a vhost port and a VM connected to it.
Step 1: try using dpdk-procinfo to get the stats.
$(dpdk-procinfo) --log-level=8 --no-pci -- --stats
Step 2: try using dpdk-pdump to dump the packets.
$(dpdk-pdump) -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
Jianfeng Tan (5):
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
drivers/net/af_packet/rte_eth_af_packet.c | 26 +++---
drivers/net/cxgbe/cxgbe_main.c| 1 -
drivers/net/kni/rte_eth_kni.c | 14 ++
drivers/net/null/rte_eth_null.c | 19
which do not
support multi-process.
Reported-by: Signed-off-by: Vipin Varghese
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
doc/guides/rel_notes/release_18_05.rst| 5 +
drivers/net/af_packet/rte_eth_af_packet.c | 17 +++--
drivers/net/bonding/rte_eth_bond_pmd.c
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.
Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi
As we could add virtual devices from different threads now, we
add a spin lock to protect the vdev device list.
Suggested-by: Anatoly Burakov
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
drivers/bus/vdev/vdev.c | 95 +++--
1 file changed
the stats.
$(dpdk-procinfo) --log-level=8 --no-pci -- --stats
Step 2: try using dpdk-pdump to dump the packets.
$(dpdk-pdump) -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
Jianfeng Tan (5):
eal: bring forward multi-process channel init
bus/vdev: add lock on vdev device list
b
Adjust the init sequence: put mp channel init before bus scan
so that we can init the vdev bus through mp channel in the
secondary process before the bus scan.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
lib/librte_eal/bsdapp/eal/eal.c | 23 +--
lib/librte_eal
quest")
Signed-off-by: Jianfeng Tan
Signed-off-by: Anatoly Burakov
Acked-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_proc.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_eal/common/eal_common_proc.c
b/lib/librte_eal/common/eal_common_proc.c
index f8cb0e
v2:
- Fix typo.
- Rebase on below patches:
http://dpdk.org/dev/patchwork/patch/38358/
http://dpdk.org/dev/patchwork/patch/38359/
http://dpdk.org/dev/patchwork/patch/38360/
Patch 1 is to rename some variable names for better readability.
Patch 2 is a bug fix.
Jianfeng Tan (2
Following below commit, we change some internal function and variable
names:
commit ce3a7312357b ("eal: rename IPC request as synchronous one")
Also use calloc to supersede malloc + memset for code clean up.
Signed-off-by: Jianfeng Tan
Acked-by: Anatoly Burakov
---
lib/librte_
Following below commit, we change some internal function and variable
names:
commit ce3a7312357b ("eal: rename IPC request as synchronous one")
Also use calloc to supersede malloc + memset for code clean up.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_p
quest")
Signed-off-by: Jianfeng Tan
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_proc.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_eal/common/eal_common_proc.c
b/lib/librte_eal/common/eal_common_proc.c
index 070a075..27de16e 100644
--- a/lib/
Patch 1 is to rename some variable names for better readability.
Patch 2 is a bug fix.
Jianfeng Tan (2):
ipc: clearn up code
ipc: fix timeout not properly handled in async
lib/librte_eal/common/eal_common_proc.c | 88 -
1 file changed, 44 insertions(+), 44
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
drivers/net/af_packet/rte_eth_af_packet.c | 26 +++---
drivers/net/cxgbe/cxgbe_main.c| 1 -
drivers/net/kni/rte_eth_kni.c | 14 ++
drivers/net/null/rte_eth_null.c | 19
which do not
support multi-process.
Reported-by: Signed-off-by: Vipin Varghese
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
doc/guides/rel_notes/release_18_05.rst| 5 +
drivers/net/af_packet/rte_eth_af_packet.c | 17 +++--
drivers/net/bonding/rte_eth_bond_pmd.c
Adjust the init sequence: put mp channel init before bus scan
so that we can init the vdev bus through mp channel in the
secondary process before the bus scan.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
lib/librte_eal/bsdapp/eal/eal.c | 23 +--
lib/librte_eal
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.
Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi
As we could add virtual devices from different threads now, we
add a spin lock to protect the vdev device list.
Suggested-by: Anatoly Burakov
Signed-off-by: Jianfeng Tan
Reviewed-by: Qi Zhang
---
drivers/bus/vdev/vdev.c | 61 +
1 file changed
he packets.
$(dpdk-pdump) -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
Jianfeng Tan (5):
eal: bring forward multi-process channel init
bus/vdev: add lock on vdev device list
bus/vdev: bus scan by multi-process channel
drivers/net: not use private eth dev data
drivers/net: share vd
.
Now, we change to make use of the IPC event callback mechanism
(added in previous patch); in other words, we merge this into
interrupt thread.
Cc: Anatoly Burakov
Suggested-by: Thomas Monjalon
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 38
We are going to merge IPC into interrupt thread. This patch adds
IPC type for interrupt thread.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/include/rte_eal_interrupts.h | 1 +
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 5
test/test/test_interrupts.c
IPC will reply on interrupt handling, so we move forward the init
of interrupt handling.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c
b/lib/librte_eal/linuxapp
We will rely on interrupt thread to implement IPC; and IPC initialization
is in very early stage, when memory subsystem is not initialized yet.
So we change to use glibc malloc/free.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 13 +
1 file changed
,
alarm will invoke the async_reply_handle() as the alarm callback.
Cc: Anatoly Burakov
Suggested-by: Thomas Monjalon
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 169
1 file changed, 43 insertions(+), 126 deletions(-)
diff --git a/lib
We will reply on alarm API for async IPC request as following patch
indicates. rte_malloc could require async IPC request.
To avoid such chicken or the egg causality dilemma, we change to
use glibc malloc in alarm implimentation.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal
Following below commit, we change some internal function and variable
names:
commit ce3a7312357b ("eal: rename IPC request as synchronous one")
Also use calloc to supersede malloc + memset for code clean up.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_p
quest")
Signed-off-by: Jianfeng Tan
Signed-off-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_proc.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_eal/common/eal_common_proc.c
b/lib/librte_eal/common/eal_common_proc.c
index 070a075..27de16e 100644
--- a/lib/
t handling thread and alarm.
It's OK for Linux-specific subsystem/feature, like memory hotplug and vfio;
while pdump and vdev auto discovery could be on FreeBSD.
So it's like that we also need to implement interrupt handling thread and
alarm for FreeBSD.
Jianfeng Tan (8):
ipc:
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 \
--num-procs=2 --proc-id=1
Cc: anatoly.bura...@intel.com
Signed-off-by: Jianfeng Tan
Acked-by: Anatoly Burakov
---
lib/librte_eal/linuxapp/eal/eal.c | 22 +-
lib
which do not
support multi-process.
Reported-by: Signed-off-by: Vipin Varghese
Signed-off-by: Jianfeng Tan
---
drivers/net/af_packet/rte_eth_af_packet.c | 17 +++--
drivers/net/bonding/rte_eth_bond_pmd.c| 13 +
drivers/net/failsafe/failsafe.c | 14
Signed-off-by: Jianfeng Tan
---
drivers/net/af_packet/rte_eth_af_packet.c | 26 +++---
drivers/net/cxgbe/cxgbe_main.c| 1 -
drivers/net/kni/rte_eth_kni.c | 14 ++
drivers/net/null/rte_eth_null.c | 19 ---
drivers/net
-- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
Jianfeng Tan (5):
eal: bring forward multi-process channel init
bus/vdev: add lock on vdev device list
bus/vdev: bus scan by multi-process channel
drivers/net: not use private eth dev data
drivers/net: share vdev data to secondary p
As we could add virtual devices from different threads now, we
add a spin lock to protect the vdev device list.
Suggested-by: Anatoly Burakov
Signed-off-by: Jianfeng Tan
---
drivers/bus/vdev/vdev.c | 61 +
1 file changed, 47 insertions(+), 14
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.
Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.
Signed-off-by: Jianfeng Tan
---
drivers/bus
Adjust the init sequence: put mp channel init before bus scan
so that we can init the vdev bus through mp channel in the
secondary process before the bus scan.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/bsdapp/eal/eal.c | 23 +--
lib/librte_eal/linuxapp/eal/eal.c | 23
The original code replies on the private channel for primary and
secondary communication. Change to use the generic multi-process
channel.
Note with this change, dpdk-pdump will be not compatible with
old version DPDK applications.
Cc: reshma.pat...@intel.com
Signed-off-by: Jianfeng Tan
---
v4
The original code replies on the private channel for primary and
secondary communication. Change to use the generic multi-process
channel.
Note with this change, dpdk-pdump will be not compatible with
old version DPDK applications.
Cc: reshma.pat...@intel.com
Signed-off-by: Jianfeng Tan
---
v3
The original code replies on the private channel for primary and
secondary communication. Change to use the generic multi-process
channel.
Note with this change, dpdk-pdump will be not compatible with
old version DPDK applications.
Cc: reshma.pat...@intel.com
Signed-off-by: Jianfeng Tan
It's not necessary to populate guest memory from vhost side unless
zerocopy is enabled or users want better performance.
Update the doc for guest memory requirement clarification.
Cc: maxime.coque...@redhat.com
Signed-off-by: Jianfeng Tan
---
doc/guides/prog_guide/vhost_lib.rst
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 \
--num-procs=2 --proc-id=1
Cc: anatoly.bura...@intel.com
Signed-off-by: Jianfeng Tan
---
v5->v6: (Address comments from Anatoly)
- Naming, return checking, logging.
- Move v
in secondary, we must allocate
from the pre-defined array so that we can find it.
Suggested-by: Bruce Richardson
Signed-off-by: Jianfeng Tan
---
drivers/net/af_packet/rte_eth_af_packet.c | 25 +++--
drivers/net/kni/rte_eth_kni.c | 13 ++---
drivers/net
which do not
support multi-process.
Reported-by: Signed-off-by: Vipin Varghese
Signed-off-by: Jianfeng Tan
---
drivers/net/af_packet/rte_eth_af_packet.c | 17 +++--
drivers/net/bonding/rte_eth_bond_pmd.c| 13 +
drivers/net/failsafe/failsafe.c | 14
To scan the vdevs in primary, we send request to primary process
to obtain the names for vdevs.
Only the name is shared from the primary. In probe(), the device
driver is supposed to locate (or request more) the detail
information from the primary.
Signed-off-by: Jianfeng Tan
---
drivers/bus
the stats.
$(dpdk-procinfo) --log-level=8 --no-pci -- --stats
Step 2: try using dpdk-pdump to dump the packets.
$(dpdk-pdump) -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap'
Jianfeng Tan (4):
eal: bring forward multi-process channel init
bus/vdev: bus scan by multi-process chann
Adjust the init sequence: put mp channel init before bus scan
so that we can init the vdev bus through mp channel in the
secondary process before the bus scan.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/bsdapp/eal/eal.c | 23 +--
lib/librte_eal/linuxapp/eal/eal.c | 23
The original code replies on the private channel for primary and
secondary communication. Change to use the generic multi-process
channel.
Note with this change, dpdk-pdump will be not compatible with
old version DPDK applications.
Cc: reshma.pat...@intel.com
Signed-off-by: Jianfeng Tan
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 \
--num-procs=2 --proc-id=1
Cc: anatoly.bura...@intel.com
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 14 +-
lib/librte_eal/linuxapp/eal
. start vm1 connected to vhost1;
$ ifconfig xxx 1.1.1.2/24 up
$ ethtool -K xxx ufo on
$ (Fill a large file named 1.txt)
$ cat 1.txt | socat - udp-sendto:1.1.1.1:5000
Signed-off-by: Jianfeng Tan
---
app/test-pmd/csumonly.c | 98 +
1 file changed, 98
In some cases, we don't want to lock all memory.
Add an option --no-mlockall to avoid lock all memory.
Cc: wenzhuo...@intel.com
Cc: jingjing...@intel.com
Signed-off-by: Jianfeng Tan
---
app/test-pmd/parameters.c | 5 -
app/test-pmd/testpmd.c
In some cases, we don't want to lock all memory.
Add an option --no-mlockall to avoid lock all memory.
Cc: wenzhuo...@intel.com
Cc: jingjing...@intel.com
Signed-off-by: Jianfeng Tan
---
app/test-pmd/parameters.c | 5 -
app/test-pmd/testpmd.c| 32 ++--
It's not necessary to polulate guest memory from vhost side.
Cc: maxime.coque...@redhat.com
Cc: y...@fridaylinux.org
Signed-off-by: Jianfeng Tan
---
lib/librte_vhost/vhost_user.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_vhost/vhost_user.c
Previously, get_device() is a function call. It's OK for slow path
configuration, but takes some cycles for data path.
To avoid that, we turn this function to inline type.
Cc: maxime.coque...@redhat.com
Cc: y...@fridaylinux.org
Signed-off-by: Jianfeng Tan
---
lib/librte_vhost/vhost.c
Cc: tomaszx.kula...@intel.com
Cc: maxime.coque...@redhat.com
Cc: y...@fridaylinux.org
Signed-off-by: Jianfeng Tan
---
lib/librte_vhost/vhost.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index d947bc9..ecd5b7b 100644
--- a/lib
Some trivial fixes, and a vhost memory optimization to avoid polulating
guest memory.
Jianfeng Tan (4):
vhost: remove unused macro
vhost: avoid function call in data path
app/testpmd: add option to avoid lock all memory
vhost: avoid populate guest memory
app/test-pmd/parameters.c
ed.
Fixes: 0d6a8752ac9d ("net/virtio-user: fix crash as features change")
Cc: sta...@dpdk.org
Signed-off-by: Jianfeng Tan
---
drivers/net/virtio/virtio_user/virtio_user_dev.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c
intr_handle->fd was wrongly initialized as 0 (usually as the stdio fd)
when virtio-user is used with vhost-kernel. So the interrupt thread
might wrongly treat stdin events as LSC interrupts.
Fixes: 3d4fb6fd2505 ("net/virtio-user: support Rx interrupt")
Cc: sta...@dpdk.org
Signed-off
The original words are not accurate. For example, as destroy_device
callback gets called, it does not necessarily mean that the connection
is closed.
Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
Cc: sta...@dpdk.org
Cc: mtetsu...@gmail.com
Signed-off-by: Ji
Patch 1: a trivial fix on reword a log message.
Patch 2: fix the rxq interrupt mode when virtio-user is used
with vhost kernel.
Patch 3: a trivial fix on LSC fd init when virtio-user is used
with vhost kernel.
Jianfeng Tan (3):
net/vhost: fix incorrect log info
net/virtio
Signed-off-by: Jianfeng Tan
---
MAINTAINERS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 4f1f33b..38e5fb8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -559,6 +559,7 @@ F: doc/guides/nics/features/vmxnet3.ini
Vhost-user
M: Yuanhan Liu
M: Maxime
s sending request, thread-m of that process can send
request at the same time.
* For pair , we guarantee that only one such request
is on the fly.
Suggested-by: Anatoly Burakov
Suggested-by: Konstantin Ananyev
Signed-off-by: Jianfeng Tan
Reviewed-by: Anatoly Burakov
Acked-by: Konstanti
ncrhonous way for the requests which need a immediate response.
Jianfeng Tan (2):
eal: add channel for multi-process communication
eal: add synchronous multi-process communication
doc/guides/rel_notes/release_18_02.rst | 11 +
lib/librte_eal/bsdapp/eal/eal.c | 10 +-
r the action
if the calling component does not want to response the messages.
3. rte_eal_mp_sendmsg() is used to send a message, and returns
immediately. If there are n secondary processes, the primary
process will send n messages.
Suggested-by: Konstantin Ananyev
Signed-off-by: Jia
s sending request, thread-m of that process can send
request at the same time.
* For pair , we guarantee that only one such request
is on the fly.
Suggested-by: Anatoly Burakov
Suggested-by: Konstantin Ananyev
Signed-off-by: Jianfeng Tan
Reviewed-by: Anatoly Burakov
Acked-by: Konstanti
r the action
if the calling component does not want to response the messages.
3. rte_eal_mp_sendmsg() is used to send a message, and returns
immediately. If there are n secondary processes, the primary
process will send n messages.
Suggested-by: Konstantin Ananyev
Signed-off-by: Jia
t/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 T
s sending request, thread-m of that process can send
request at the same time.
* For pair , we guarantee that only one such request
is on the fly.
Suggested-by: Anatoly Burakov
Suggested-by: Konstantin Ananyev
Signed-off-by: Jianfeng Tan
Reviewed-by: Anatoly Burakov
Acked-by: Konstanti
l 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 channel for multi-process communication
eal:
r the action
if the calling component does not want to response the messages.
3. rte_eal_mp_sendmsg() is used to send a message, and returns
immediately. If there are n secondary processes, the primary
process will send n messages.
Suggested-by: Konstantin Ananyev
Signed-off-by: Jia
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 \
--num-procs=2 --proc-id=1
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 14 +-
lib/librte_eal/linuxapp/eal/eal_vfio.c | 169
s sending request, thread-m of that process can send
request at the same time.
* For pair , we guarantee that only one such request
is on the fly.
Suggested-by: Anatoly Burakov
Suggested-by: Konstantin Ananyev
Signed-off-by: Jianfeng Tan
Reviewed-by: Anatoly Burakov
Acked-by: Konstanti
el 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/guid
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 --num-procs=2 --proc-id=1
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 14 +-
lib/librte_eal/linuxapp/eal/eal_vfio.c | 172 +--
lib/librte_eal/linuxapp/eal
tchset 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.
Patch 3: Rework vfio to use this generic communication channel.
Jianfeng Tan (3):
eal: add c
r the action
if the calling component does not want to response the messages.
3. rte_eal_mp_sendmsg() is used to send a message, and returns
immediately. If there are n secondary processes, the primary
process will send n messages.
Suggested-by: Konstantin Ananyev
Signed-off-by: Jia
s sending request, thread-m of that process can send
request at the same time.
* For pair , we guarantee that only one such request
is on the fly.
Suggested-by: Anatoly Burakov
Suggested-by: Konstantin Ananyev
Signed-off-by: Jianfeng Tan
---
doc/guides/rel_notes/release_18_02.rst | 1
quot;net/virtio-user: fix not properly reset device")
Reported-by: Lei Yao
Reported-by: Tiwei Bie
Signed-off-by: Jianfeng Tan
---
v2: Correct commit reference number format.
drivers/net/virtio/virtio_user/virtio_user_dev.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/ne
quot;net/virtio-user: fix not properly reset device")
Reported-by: Lei Yao
Reported-by: Tiwei Bie
Signed-off-by: Jianfeng Tan
---
drivers/net/virtio/virtio_user/virtio_user_dev.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c
processes.
Suggested-by: Anatoly Burakov
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 144 +---
lib/librte_eal/common/include/rte_eal.h | 73 +++-
lib/librte_eal/rte_eal_version.map | 2 +
3 files changed, 206 insertions
-- -p 3 --num-procs=2 --proc-id=0
$ (symmetric_mp) -c 4 --proc-type=auto -- -p 3 --num-procs=2 --proc-id=1
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 14 +-
lib/librte_eal/linuxapp/eal/eal_vfio.c | 133 ++--
lib/librte_eal/linuxapp/eal/eal_vfio.h
AL: bind to /var/run/.rte_unix
...
EAL: add secondary: /var/run/.testpmd_unix_(xxx)
...
3. Check the log of helloworld:
...
EAL: bind to /var/run/.testpmd_unix_xxx
EAL: bind to /var/run/.testpmd_unix_c_xxx
...
Signed-off-by: Jianfeng Tan
---
lib/librte_eal
ff-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 388
lib/librte_eal/common/eal_filesystem.h | 17 ++
lib/librte_eal/common/eal_private.h | 10 +
lib/librte_eal/common/include/rte_eal.h | 69 ++
lib/librte_eal/linuxapp/eal/eal.c
wto;
Patch 2: secondary process add/del;
Patch 3: add a syncrhonous way for the requests which need a immediate response.
Patch 4: Rework vfio to use this generic communication channel.
Jianfeng Tan (4):
eal: add channel for multi-process communication
eal: add and del secondary processes in
Base on primary/secondary communication channel [1], we add vdev
action to scan virtual devices in secondary processes.
[1] http://dpdk.org/dev/patchwork/patch/31838/
Signed-off-by: Jianfeng Tan
---
drivers/bus/vdev/vdev.c | 104 ++--
1 file
.
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.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 497
lib/librt
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 those messages which need a response
immediately.
Patch 3: Rework vfio to use this generic communication channel.
Jianfeng Tan (3
Previously, vfio has its own channel for the secondary process to
get container fd and group fd from the primary process.
This patch changes to use the generic mp channel.
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/linuxapp/eal/eal.c | 14 +-
lib/librte_eal/linuxapp/eal
: Anatoly Burakov
Signed-off-by: Jianfeng Tan
---
lib/librte_eal/common/eal_common_proc.c | 53 +++--
lib/librte_eal/common/include/rte_eal.h | 5 +++-
2 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_proc.c
b/lib
1 - 100 of 604 matches
Mail list logo