From: Jianfeng Tan <jianfeng.tan@intel.com>
To: dev@dpdk.org
Cc: yuanhan.liu@linux.intel.com, david.marchand@6wind.com,
maxime.coquelin@redhat.com, Jianfeng Tan <jianfeng.tan@intel.com>
Subject: [dpdk-dev] [PATCH v2 0/5] add LSC and Rxq interrupt for virtio-user
Date: Tue, 28 Mar 2017 08:21:51 +0000 [thread overview]
Message-ID: <1490689316-131625-1-git-send-email-jianfeng.tan@intel.com> (raw)
In-Reply-To: <1488563803-87754-1-git-send-email-jianfeng.tan@intel.com>
v2:
- Drop the support of LSC for virtio-user + vhost-kernel as the backend.
- Rearrange the sequence of intr config and DRIVER_OK.
- Address comments from yuanhan.
- Update doc.
This is an attempt to add LSC and Rxq interrupt for a virtual device,
virtio-user (with the backend of both vhost-user and vhost-kernel).
We need to support:
Case 1. Rxq interrupt for virtio-user + vhost-user as the backend.
Case 2. LSC interrupt for virtio-user + vhost-user as the backend.
Case 3. Rxq interrupt for virtio-user + vhost-kernel as the backend.
Another case is not supported now as we did not find a way to monitor
tap device up/down events:
- LSC interrupt for virtio-user + vhost-kernel as the backend.
HOW TO TEST:
Step 1: start testpmd with a virtual vhost device:
$ testpmd -c 0x3 -n 4 --socket-mem 1024 --no-pci \
--vdev 'eth_vhost0,iface=/tmp/sock0' -- -i
Step 2: start l3fwd-power with a virtio-user device:
$ l3fwd-power -c 0xc -n 4 --socket-mem 1024 --no-pci \
--file-prefix=l3fwd-pwd \
--vdev=virtio_user0,path=/tmp/sock0 \
-- -p 1 -P --config="(0,0,1)" \
--no-numa --parse-ptype
Step 3: start burst in testpmd
(testpmd)> start tx_first
Packets will be received and forwarded back by l3fwd-power.
And l3fwd-power will keep in polling mode.
Step 4: stop burst in testpmd
(testpmd)> stop
l3fwd-power will change to interrupt mode with few CPU
consumption.
Step 5: kill testpmd
$ kill -p `pidof testpmd`
The link status will be changed to down in l3fwd-power.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Jianfeng Tan (5):
eal/linux: add interrupt type for vdev
net/virtio: add interrupt configure for vdev
net/virtio-user: add rxq interrupt mode support
net/virtio-user: support to report net status
net/virtio-user: add lsc support
doc/guides/rel_notes/release_17_05.rst | 12 ++++
drivers/net/virtio/virtio_ethdev.c | 59 +++++++++++++++---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/virtio/virtio_user/virtio_user_dev.c | 28 ++++++++-
drivers/net/virtio/virtio_user/virtio_user_dev.h | 2 +-
drivers/net/virtio/virtio_user_ethdev.c | 70 +++++++++++++++++++---
lib/librte_eal/linuxapp/eal/eal_interrupts.c | 30 +++++++++-
.../linuxapp/eal/include/exec-env/rte_interrupts.h | 5 +-
8 files changed, 186 insertions(+), 22 deletions(-)
--
2.7.4
next prev parent reply other threads:[~2017-03-28 8:21 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-03 17:56 [dpdk-dev] [PATCH " Jianfeng Tan
2017-03-03 17:56 ` [dpdk-dev] [PATCH 1/5] eal/linux: add interrupt type for vdev Jianfeng Tan
2017-03-03 17:56 ` [dpdk-dev] [PATCH 2/5] net/virtio-user: add rxq interrupt mode support Jianfeng Tan
2017-03-17 6:47 ` Yuanhan Liu
2017-03-28 1:33 ` Tan, Jianfeng
2017-03-03 17:56 ` [dpdk-dev] [PATCH 3/5] net/virtio-user: support to report net status Jianfeng Tan
2017-03-17 6:54 ` Yuanhan Liu
2017-03-27 7:46 ` Tan, Jianfeng
2017-03-29 6:33 ` Yuanhan Liu
2017-03-29 7:07 ` Tan, Jianfeng
2017-03-29 7:14 ` Yuanhan Liu
2017-03-29 7:48 ` Tan, Jianfeng
2017-03-29 8:00 ` Yuanhan Liu
2017-03-29 8:33 ` Tan, Jianfeng
2017-03-29 8:36 ` Yuanhan Liu
2017-03-30 3:14 ` Tan, Jianfeng
2017-03-03 17:56 ` [dpdk-dev] [PATCH 4/5] net/virtio-user: add lsc support with vhost-user adapter Jianfeng Tan
2017-03-17 8:29 ` Yuanhan Liu
2017-03-27 1:51 ` Tan, Jianfeng
2017-03-03 17:56 ` [dpdk-dev] [PATCH 5/5] net/virtio-user: add lsc support with vhost-kernel adapter Jianfeng Tan
2017-03-28 8:21 ` Jianfeng Tan [this message]
2017-03-28 8:21 ` [dpdk-dev] [PATCH v2 1/5] eal/linux: add interrupt type for vdev Jianfeng Tan
2017-03-28 8:21 ` [dpdk-dev] [PATCH v2 2/5] net/virtio: add interrupt configure " Jianfeng Tan
2017-03-29 6:27 ` Yuanhan Liu
2017-03-29 7:03 ` Tan, Jianfeng
2017-03-29 7:09 ` Yuanhan Liu
2017-03-29 7:27 ` Tan, Jianfeng
2017-03-29 7:30 ` Yuanhan Liu
2017-03-28 8:21 ` [dpdk-dev] [PATCH v2 3/5] net/virtio-user: add rxq interrupt mode support Jianfeng Tan
2017-03-28 8:21 ` [dpdk-dev] [PATCH v2 4/5] net/virtio-user: support to report net status Jianfeng Tan
2017-03-28 8:21 ` [dpdk-dev] [PATCH v2 5/5] net/virtio-user: add lsc support Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 0/5] add LSC and Rxq interrupt for virtio-user Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 1/5] eal/linux: add interrupt type for vdev Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 2/5] net/virtio-user: move eventfd open/close into init/uninit Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 3/5] net/virtio-user: add rxq interrupt mode support Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 4/5] net/virtio-user: support to report net status Jianfeng Tan
2017-03-31 19:44 ` [dpdk-dev] [PATCH v3 5/5] net/virtio-user: add lsc support Jianfeng Tan
2017-04-01 5:13 ` Yuanhan Liu
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=1490689316-131625-1-git-send-email-jianfeng.tan@intel.com \
--to=jianfeng.tan@intel.com \
--cc=david.marchand@6wind.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=yuanhan.liu@linux.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).