Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.c | 16 +---
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/lib/librte_vhost/vhost-net-cdev.c
b/lib/librte_vhost/vhost-net-cdev.c
index 8cf806a..957f0c8 100644
--- a/lib/librte_vhost/vhost-net-cdev.c
+++ b
vhost_net_device_ops is internal implementation in vhost lib.
register_cuse_device will be vhost driver register API. There is no need for it
to know
the internal vhost ops. Instead, that ops is retrieved in register_cuse_device
through get_virtio_net_callbacks.
Signed-off-by: Huawei Xie
rename register_cuse_device as rte_vhost_driver_register API.
rename start_session_loop as rte_vhost_driver_session_start API.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 5 +
lib/librte_vhost/vhost-net-cdev.c | 4 ++--
lib/librte_vhost/vhost-net-cdev.h | 2 --
3 files
vhost_rxtx.c will provide vhost vring enqueue/dequeue API.
rte_virtio_net.h is used as the API header file.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/main.c | 3727 -
lib/librte_vhost/rte_virtio_net.h | 161 ++
lib/librte_vhost/vhost_rxtx.c
define PRINT_PACKET and LOG_DEBUG macro
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.h | 31 +++
1 file changed, 31 insertions(+)
diff --git a/lib/librte_vhost/vhost-net-cdev.h
b/lib/librte_vhost/vhost-net-cdev.h
index fa67caf..6885bbf 100644
--- a
VHOST_SUPPORTED_FEATURES is the feature mask that vhost lib supports.
VHOST_FEATURES is the feature mask vhost currently supports after some features
are turned on/off.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/virtio-net.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff
rename init_virtio_net as rte_vhost_callback_register API.
rte_vhost_callback_register register the callbacks called when a
vhost device is created and ready to be added to data processing core
or is de-actived by guest.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 4
header file cleanups
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 9 +
lib/librte_vhost/vhost-net-cdev.c | 2 +-
lib/librte_vhost/vhost-net-cdev.h | 11 ++-
lib/librte_vhost/vhost_rxtx.c | 26 ++
lib/librte_vhost/virtio-net.c
add "static" for some variable definitions
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_vhost/vhost-net-cdev.c
b/lib/librte_vhost/vhost-net-cdev.c
index 4dbd295..ce9f4ae 100644
vhost lib is turned off by default.
vhost lib is based on cuse, which requires fuse development package to be
installed.
Signed-off-by: Huawei Xie
---
config/common_linuxapp| 8
lib/Makefile | 1 +
lib/librte_vhost/Makefile | 48
.
rte_vhost_enqueue_burst copies host packets to guest.
rte_vhost_dequeue_burst gets to-be-sent packets from guest.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 70 +++
lib/librte_vhost/virtio-net.c | 31 +
2 files changed, 101 insertions
buffers
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.c | 1 +
lib/librte_vhost/vhost_rxtx.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/lib/librte_vhost/vhost-net-cdev.c
b/lib/librte_vhost/vhost-net-cdev.c
index e5875eb..91ff0d8 100644
--- a/lib/librte_vhost/vhost-net
priv field could be used to store application specific context.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_vhost/rte_virtio_net.h
b/lib/librte_vhost/rte_virtio_net.h
index 13d75fe..adf35e4 100644
--- a/lib
fixed serious coding style issues reported by checkpatch
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 85 +++--
lib/librte_vhost/vhost-net-cdev.c | 252 +++---
lib/librte_vhost/vhost-net-cdev.h | 33 +++--
lib/librte_vhost
Those files will be refactored in subsequent patches to form user space vhost
library.
Makefile and main.h are removed.
Signed-off-by: Huawei Xie
---
examples/vhost/Makefile | 60 -
examples/vhost/eventfd_link/Makefile | 39 -
examples/vhost/eventfd_link
New vhost example is a transform of old vhost example.
It calls vhost library API to receive/transmit packets from guest VM.
zero copy logic is kept in vhost example.
Huawei Xie (14):
copy old vhost example files main.c/main.h as the base of new vhost example
remove virtio_dev_(merge_)rx
This patch copies two files main.c/main.h from most recent vhost example as
the base for new vhost example.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 3727 +
examples/vhost/main.h | 86 ++
2 files changed, 3813 insertions(+)
create
Those functions are integrated into the user space vhost library.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 806 --
1 file changed, 806 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index c23d453..11d5d17
check_hpa_regions, fill_hpa_memory_regions and hpa memory region data structure
are added back.
zero copy logic will be implemented in vhost example.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 147 ++
examples/vhost/main.h | 15
define vhost_dev data structure.
change reference to virtio_dev to vhost_dev.
vhost example use vdev data structure for switching related logic and
container for virtio_dev.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 269 --
examples
add hpa(host physical address) region generation/destroy logic.
gpa<->hpa memory translation regions are generated at new_device, when a
virtio device is ready for packet processing.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 44 +++-
guest
VM,
then virtio device will be bound to a queue in VMDQ for the first transmitted
packet.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 53 +--
1 file changed, 26 insertions(+), 27 deletions(-)
diff --git a/examples/vhost/main.c b
in new vhost example, the packet passed to virtio_tx_route has been allocated
mbuf, so there is no need to allocate mbuf for it.
use vlan offload to transmit vlan tagged packet.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 65 ---
1 file
remove gpa_to_vva macro and base_index parameter.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 42 +-
1 file changed, 1 insertion(+), 41 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index bbfdef6..aaac88b 100644
--- a
rte_vhost_enable_guest_notification: disable guest notification
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 29 ++---
1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index aaac88b..e0bd452 100644
vmdq_rx_q minior change
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index e0bd452..15cb493 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -1722,13
minimal adjustment
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 13 +
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 15cb493..b2b92e9 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -49,10
add branch hint
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index b2b92e9..fb22df4 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -1012,7 +1012,7
mergeable feature doesn't work with latest mbuf change.
find that we could disable IXGBE_INC_VECTOR as a workaround.
root cause is WIP.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/examples/vhost/main.c b/examples/vhost/m
new vhost example is ready. Add example makefile
Signed-off-by: Huawei Xie
---
examples/vhost/Makefile | 60 +
1 file changed, 60 insertions(+)
create mode 100644 examples/vhost/Makefile
diff --git a/examples/vhost/Makefile b/examples/vhost
nable simple R/TX processing when user specifies simple txq flags
- Reword some comments and commit messages
Huawei Xie (7):
virtio: add virtio_rxtx.h header file
virtio: add software rx ring, fake_buf into virtqueue
virtio: rx/tx ring layout optimization
virtio: fill RX avail ring with
nable simple R/TX processing when user specifies simple txq flags
- Reword some comments and commit messages
Huawei Xie (7):
virtio: add virtio_rxtx.h header file
virtio: add software rx ring, fake_buf into virtqueue
virtio: rx/tx ring layout optimization
virtio: fill RX avail ring with
+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 5c00e9d..7c82a6a 100644
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 6 ++-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
Would move all rx/tx related code into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34 ++
3
Add software RX ring in virtqueue.
Add fake_mbuf in virtqueue for wraparound processing.
Use global simple_rxtx to indicate whether simple rxtx is enabled
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 12
drivers/net/virtio/virtio_rxtx.c | 7 +++
drivers
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/v
bulk free of mbufs when clean used ring.
shift operation of idx could be further saved if vq_free_cnt means
free slots rather than free descriptors.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 95
simple rx/tx func is enabled when user specifies single segment, no offload
support.
merge-able should be disabled to use simple rxtx.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/net/virtio
mance boost could be observed only if the virtio backend isn't the
bottleneck or in VM2VM
case.
There are also several vhost optimization patches to be submitted later.
Huawei Xie (7):
virtio: add virtio_rxtx.h header file
virtio: add software rx ring, fake_buf into virtqueue
virtio:
Would move all rx/tx related declarations into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34
Changes in v3:
- Remove unnecessary NULL test for rte_free
- Remove unnecessary assign of local var vq after free
Add software RX ring in virtqueue.
Add fake_mbuf in virtqueue for wraparound processing.
Use global simple_rxtx to indicate whether simple rxtx is enabled
Signed-off-by: Huawei Xie
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 6 ++-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
the stats var together so that we could
use
one vec instruction to update all of them.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 93 +
2 files changed, 96 insertions(+)
diff --git a
x dat
+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/net/v
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/v
simple rx/tx func is enabled when user specifies single segment and no offload
support.
merge-able should be disabled to use simple rxtx.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/net/virtio
r in VM2VM
case.
There are also several vhost optimization patches to be submitted later.
Huawei Xie (7):
virtio: add virtio_rxtx.h header file
virtio: add software rx ring, fake_buf into virtqueue
virtio: rx/tx ring layout optimization
virtio: fill RX avail ring with blank mbufs
virtio: vir
Would move all rx/tx related declarations into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34
| 1 | ... | 127 || 0 | 1 | ... | 127 | desc ring for tx dat
+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c
Changes in v3:
- Remove unnecessary NULL test for rte_free
- Remove unnecessary assign of local var vq after free
Add software RX ring in virtqueue.
Add fake_mbuf in virtqueue for wraparound processing.
Use global simple_rxtx to indicate whether simple rxtx is enabled
Signed-off-by: Huawei Xie
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 6 ++-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/v
slots rather than free descriptors.
TODO: rearrange vq data structure, pack the stats var together so that we
could use one vec instruction to update all of them.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 93
Changes in v4:
Check merge-able feature when select simple rx/tx functions.
simple rx/tx func is chose when merge-able rx is disabled and user specifies
single segment and
no offload support.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 15 +++
1 file changed
boost could be observed only if the virtio backend isn't the
bottleneck or in VM2VM
case.
There are also several vhost optimization patches to be submitted later.
Huawei Xie (7):
virtio: add virtio_rxtx.h header file
virtio: add software rx ring, fake_buf into virtqueue
virtio: rx/tx r
Would move all rx/tx related declarations into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34
Changes in v3:
- Remove unnecessary NULL test for rte_free
- Remove unnecessary assign of local var vq after free
Add software RX ring in virtqueue.
Add fake_mbuf in virtqueue for wraparound processing.
Use global simple_rxtx to indicate whether simple rxtx is enabled
Signed-off-by: Huawei Xie
| 1 | ... | 127 || 0 | 1 | ... | 127 | desc ring for tx dat
+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 6 ++-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/v
clean used ring.
shift operation of idx could be saved if vq_free_cnt means
free slots rather than free descriptors.
TODO: rearrange vq data structure, pack the stats var together so that we
could use one vec instruction to update all of them.
Signed-off-by: Huawei Xie
---
drivers/net/virtio
Changes in v4:
Check merge-able feature when select simple rx/tx functions.
simple rx/tx func is chose when merge-able rx is disabled and user specifies
single segment and
no offload support.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 15 +++
1 file changed
Changes in v3:
- Remove unnecessary NULL test for rte_free
- Remove unnecessary assign of local var vq after free
Add software RX ring in virtqueue.
Add fake_mbuf in virtqueue for wraparound processing.
Use global simple_rxtx to indicate whether simple rxtx is enabled
Signed-off-by: Huawei Xie
clean used ring.
shift operation of idx could be saved if vq_free_cnt means
free slots rather than free descriptors.
TODO: rearrange vq data structure, pack the stats var together so that we
could use one vec instruction to update all of them.
Signed-off-by: Huawei Xie
---
drivers/net/virtio
Changes in v4:
Check merge-able feature when select simple rx/tx functions.
simple rx/tx func is chose when merge-able rx is disabled and user specifies
single segment and
no offload support.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 15 +++
1 file changed
x dat
+-+-+-+--+--+--+--+
||
||
++
Performance boost could be observed only if the virtio backend isn't the
bottleneck or in VM2VM
case.
There are also several vhost optimization patches to be submitted later.
Huawei Xie (8)
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/v
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 6 ++-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
Would move all rx/tx related declarations into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34
| 1 | ... | 127 || 0 | 1 | ... | 127 | desc ring for tx dat
+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c
Update release notes about virtio ring layout optimization,
vector rx and simple tx support
Signed-off-by: Huawei Xie
---
doc/guides/rel_notes/release_2_2.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/doc/guides/rel_notes/release_2_2.rst
b/doc/guides/rel_notes/release_2_2.rst
This single patch is for people to get familiar with the optimization and is
for collecting feedbacks.
It isn't splitted because it is straightforward.
Haven't finished the cleanups.
The description and illustration of the idea is in a previous mail titled
"virtio optimization idea".
---
config
used event idx is put at the end of available ring. It isn't taken into account
when we calculate the address of used ring. Fortunately, it doesn't introduce
the bug with fixed queue number 256 and 4KB alignment.
Signed-off-by: hxie5
---
drivers/net/virtio/virtio_ring.h | 2 +-
1 file changed, 1
In merge-able RX path, vhost injects interrupts to guest for each packet.
This should degrade performance a lot.
This patch fixes this issue by injecting one interrupt for a batch of packets.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 7 +--
1 file changed, 5 insertions
We keep a common vq structure, containing only vq related fields,
and then split others into RX, TX and control queue respectively.
Signed-off-by: Huawei Xie
---
v2:
- don't split virtio_dev_rx/tx_queue_setup
v3:
- fix some 80 char warnings
- fix other newer version checkpatch warnings
- r
When we migrate VM, without this feature, qemu will report error:
"migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
Signed-off-by: Krishna Murthy
---
lib/librte_vhost/virtio-net.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/librte_vhost/virtio-net
node of vring
descriptors, so we will try to reallocate virtio_net and vhost virt queue to
the same numa node.
Huawei Xie (2):
use rte_malloc/free for virtio_net and virt_queue memory data allocation/free
When we get the address of vring descriptor table, will try to reallocate
virtio_net d
use rte_malloc/free for virtio_net and virt queue allocation/free
Signed-off-by: Huawei Xie
---
lib/librte_vhost/virtio-net.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 4672e67
When we get the address of vring descriptor table in VHOST_SET_VRING_ADDR
message,
will try to reallocate virtio_net device and virtqueue to the same numa node.
Signed-off-by: Huawei Xie
---
config/common_linuxapp| 1 +
lib/librte_vhost/Makefile | 4 ++
lib/librte_vhost/virtio
As orignal author of virtio PMD(coauthor with Rashmin) and vhost user, claim
responsibility for virtio PMD, vhost lib and vhost example.
v2 changes:
would claim xenvirt responsibility in another patch
Signed-off-by: Huawei Xie
---
MAINTAINERS | 1 +
1 file changed, 1 insertion
rte_vhost_driver_unregister will remove the listenfd from event list, and then
close it.
Signed-off-by: Huawei Xie
Signed-off-by: Peng Sun
---
lib/librte_vhost/rte_virtio_net.h| 3 ++
lib/librte_vhost/vhost_cuse/vhost-net-cdev.c | 9
lib/librte_vhost/vhost_user/vhost-net
rte_vhost_driver_unregister will remove the listenfd from event list, and then
close it.
Signed-off-by: Huawei Xie
Signed-off-by: Peng Sun
---
lib/librte_vhost/rte_virtio_net.h| 3 ++
lib/librte_vhost/vhost_cuse/vhost-net-cdev.c | 9
lib/librte_vhost/vhost_user/vhost-net
node of vring
descriptors, so we will try to reallocate virtio_net and vhost virt queue to
the same numa node.
Huawei Xie (2):
use rte_malloc/free for virtio_net and virt_queue memory data allocation/free
When we get the address of vring descriptor table, will try to reallocate
virtio_net d
use rte_malloc/free for virtio_net and virt queue allocation/free
Signed-off-by: Huawei Xie
---
lib/librte_vhost/virtio-net.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 4672e67
When we get the address of vring descriptor table in VHOST_SET_VRING_ADDR
message,
will try to reallocate virtio_net device and virtqueue to the same numa node.
Signed-off-by: Huawei Xie
---
config/common_linuxapp| 1 +
lib/librte_vhost/Makefile | 4 ++
lib/librte_vhost/virtio
rte_vhost_driver_unregister will remove the listenfd from event list, and then
close it.
Signed-off-by: Huawei Xie
Signed-off-by: Peng Sun
---
lib/librte_vhost/rte_virtio_net.h| 3 ++
lib/librte_vhost/vhost_cuse/vhost-net-cdev.c | 9
lib/librte_vhost/vhost_user/vhost-net
's position
change LOG level from ERR to INFO
Huawei Xie (6):
eal: make the comment more accurate
eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't managing the device.
eal: use new RTE_ARCH_X86 macro for x86 arch
eal: simple code rework
eal: map IO port only when kernel driv
positive return of devinit of pci driver means the driver doesn't support
this device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/common/eal_common_pci.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librt
Use RTE_KDRV_NONE to indicate that kernel driver (other than VFIO/UIO) isn't
managing the device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index b44fa32
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index dc0aa37..4ede4cb
call rte_eal_pci_ioport_map (on x86) only if the pci device is not bound
to a kernel driver.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal
.
For all other IO port mapping errors, return -1.
Note than if VFIO/UIO fails, now we don't fall back to port IO.
Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource")
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
drivers/net/virtio/
Acked-by: Huawei Xie
have too
many common vq operations. Split fields into virtnet_rx
and virtnet_tx respectively.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 333 +---
drivers/net/virtio/virtio_pci.c | 4 +-
drivers/net/virtio/virtio_pci.h | 3
a".
v2 changes:
adapt to new rte_mbuf format
fixes pkt_mb[6] and [7] pkt_len issue
Signed-off-by: Huawei Xie
---
config/common_linuxapp | 1 +
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_ethdev.c | 19 ++
drivers/net/virtio/virtio
+-+-+-+--+--+--+--+
||
||
++
Performance boost could be observed if the virtio backend isn't the bottleneck
or in VM2VM
case.
There are also several vhost optimization patches to be submitted later.
Huawei X
Turned off by default. This is development feature.
Will remove this macro when this optimization gets widely accepted.
Signed-off-by: Huawei Xie
---
config/common_linuxapp | 1 +
1 file changed, 1 insertion(+)
diff --git a/config/common_linuxapp b/config/common_linuxapp
index 0de43d5..b70c5d7
Would move all rx/tx related code into this header file in future.
Add RTE_VIRTIO_PMD_MAX_BURST.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 1 +
drivers/net/virtio/virtio_rxtx.c | 1 +
drivers/net/virtio/virtio_rxtx.h | 34 ++
3
201 - 300 of 324 matches
Mail list logo