This patch reorders the code to delay virtio header write to optimize cache
access efficiency for cases where the mrg_rxbuf feature is turned on. It
reduces CPU pipeline stall cycles significantly.
---
Changes in v3:
1. Remove unnecessary memset which causes frontend stall on SNB & IVB.
2. Ren
This patch enables batch update of the used ring for better efficiency.
---
Changes in v4:
1. Free shadow used ring in the right place.
2. Add failure check for shadow used ring malloc.
Signed-off-by: Zhihong Wang
---
lib/librte_vhost/vhost-net.h | 4 +++
lib/librte_vhost/vhost_rxtx.c | 6
This patch adds descriptor prefetch to hide cache access latency.
Signed-off-by: Zhihong Wang
---
lib/librte_vhost/vhost_rxtx.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index 629e8ae..927896c 100644
--- a/lib/librte_v
This patch removes useless volatile attribute to allow compiler
optimization.
Signed-off-by: Zhihong Wang
---
lib/librte_vhost/vhost-net.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_vhost/vhost-net.h b/lib/librte_vhost/vhost-net.h
index 38593a2..51fdf3d 100644
This patch implements the vhost logic from scratch into a single function
designed for high performance and better maintainability.
This is the baseline version of the new code, more optimization will be
added in the following patches in this patch set.
---
Changes in v4:
1. Refactor the code f
This patch fixes a Windows VM compatibility issue in DPDK 16.07 vhost code,
which causes the guest to hang once any packets are enqueued when mrg_rxbuf
is turned on.
How to test?
1. Start testpmd in the host with a vhost port.
2. Start a Windows VM image with qemu and connect to the vhost port
This patch set optimizes the vhost enqueue function.
It implements the vhost logic from scratch into a single function designed
for high performance and good maintainability, and improves CPU efficiency
significantly by optimizing cache access, which means:
* Higher maximum throughput can be ac
Hi,
I already followed the 100% python way and submitted the v3 of this patch.
http://dpdk.org/dev/patchwork/patch/15378/
How will your patch be different in solving the issue. There will always be
multiple ways to solving things right.
V3 of my submitted patch:
diff --git a/tools/dpdk-devbin
Thanks , I will remove the unlikely from the conditionally statement.
Below is the complete patch :
>From 2e4b391fe90ba5e617611e341a7d260dd3dd9144 Mon Sep 17 00:00:00 2001
From: souvikdey33
Date: Fri, 26 Aug 2016 20:46:21 -0400
Subject: [PATCH v2 2/3] Signed-off-by: Souvik Dey
Fixes: 1fb8e8896c
Hello All,
Can you please review the change and let me know if any comments. I would like
to push this patch to 16.07 release. Thanks
Regards
Suyash Karmarkar
-Original Message-
From: Karmarkar Suyash
Sent: Friday, August 26, 2016 9:27 AM
To: rsanford at akamai.com
Cc: dev at dpdk.org;
From: azelezniak
v2:
* shorten Subject line
* added more thorough description
v1:
this patch uses queues which belong to PF instead of queus 0 -
nb_rx_queues which belong to VF0 in SR-IOV configuration
Signed-off-by: Alex Zelezniak
---
drivers/net/ixgbe/ixgbe_ethdev.c | 12
1 f
For the vector PMD release all mbufs from the Rx queue if no packets
received after device start.
Fixes: 9ed94e5bb04e ("i40e: add vector Rx")
Signed-off-by: Yury Kylulin
---
drivers/net/i40e/i40e_rxtx_vec.c | 16 ++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/dr
For the vector PMD release all mbufs from the Rx queue if no packets
received after device start.
Fixes: 11b220c6498d ("ixgbe: fix release queue mbufs")
Signed-off-by: Yury Kylulin
---
drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 16 ++--
1 file changed, 14 insertions(+), 2 deletions
This patch set fixes problem when mbufs are not released back to the
original memory pool during Rx queue relese call leading to mbufs
"leakage".
This issue happens when device stop (rte_eth_dev_stop()) will be called
after device start (rte_eth_dev_start()) without any incoming packets
received s
Signed-off-by: Souvik Dey
Fixes: 1fb8e8896ca8 ("Signed-off-by: Souvik Dey ")
Reviewed-by: Stephen Hemminger
Virtio interfaces should also support setting of mtu, as in case of cloud
it is expected to have the consistent mtu across the infrastructure that
the dhcp server sends and not hardcoded
Fixes: 1fb8e8896ca8 ("Signed-off-by: Souvik Dey ")
Reviewed-by: Stephen Hemminger
Virtio interfaces should also support setting of mtu, as in case of cloud
it is expected to have the consistent mtu across the infrastructure that
the dhcp server sends and not hardcoded to 1500(default).
---
drive
On 8/26/2016 2:56 PM, Shreyansh Jain wrote:
> Now that all pdev are pci drivers, we don't need to register crypto and ethdev
> drivers through a dedicated channel.
>
> Signed-off-by: David Marchand
> Signed-off-by: Shreyansh Jain
...
> -void rte_eth_driver_register(struct eth_driver *eth_drv);
On 8/26/2016 2:56 PM, Shreyansh Jain wrote:
> All PMD_VDEV drivers can now use rte_vdev_driver instead of the
> rte_driver (which is embedded in the rte_vdev_driver).
>
> Signed-off-by: Jan Viktorin
> Signed-off-by: Shreyansh Jain
> ---
...
> diff --git a/drivers/net/xenvirt/rte_eth_xenvirt.c
On 8/26/2016 2:57 PM, Shreyansh Jain wrote:
> Now that rte_device is available, drivers can start using its members (numa,
> name) as well as link themselves into another rte_device list.
>
> As of now no one is using this list, but can be used for moving over all
> devices (pdev/vdev/Xdev) and pe
On 8/26/2016 2:57 PM, Shreyansh Jain wrote:
> Remove the 'name' member from rte_pci_driver and move to generic rte_driver.
>
> Most of the PMD drivers were initially using DRIVER_REGISTER_PCI(..)
> as well as assigning a name to eth_driver.pci_drv.name member.
> In this patch, only the original DR
On 8/26/2016 2:56 PM, Shreyansh Jain wrote:
> Signed-off-by: Jan Viktorin
> Signed-off-by: Shreyansh Jain
> ---
> lib/librte_eal/common/include/rte_common.h | 16
> 1 file changed, 16 insertions(+)
>
> diff --git a/lib/librte_eal/common/include/rte_common.h
> b/lib/librte_eal/
Hi all
Firstly, thanks to all who provided input to the DPDK Community Survey. In
total we had 149 responses with an 85% completion rate. ~40% of responders had
contributed patches to a recent release which meant we had a good balance of
contributors vs. users.
In terms of what's working well
Hi guys,
On 07/22/2016 10:24 AM, Olivier Matz wrote:
>>> diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c index
>>> 56f37e6..0304245 100644
>>> --- a/lib/librte_mbuf/rte_mbuf.c
>>> +++ b/lib/librte_mbuf/rte_mbuf.c
>>> @@ -60,6 +60,7 @@
>>> #include
>>> #include
>>> #inclu
In addition to the packet type returned by the PMD, also display the
packet type calculated by parsing the packet in software. This is
particularly useful to compare the 2 values.
Note: it does not mean that both hw and sw always have to provide the
same value, since it depends on what hardware su
Use the function introduced in previous commit to dump the packet type
of the received packet.
Signed-off-by: Olivier Matz
---
app/test-pmd/rxonly.c | 175 ++
1 file changed, 4 insertions(+), 171 deletions(-)
diff --git a/app/test-pmd/rxonly.c b/a
An IPv4 packet is considered as a fragment if:
- MF (more fragment) bit is set
- or Fragment_Offset field is non-zero
Update the API documentation of packet types to reflect this.
Signed-off-by: Olivier Matz
---
lib/librte_mbuf/rte_mbuf_ptype.h | 26 --
1 file changed, 1
Dumping the packet type is useful for debug purposes. Instead
of having each application providing its function to do that,
introduce functions to do it.
It factorizes the code and reduces the risk of desynchronization between
the new packet types and the dump function.
Signed-off-by: Olivier Mat
Add a parameter to rte_net_get_ptype() to select which
layers should be parsed. This avoids to parse all layers if
only the first ones are required.
Signed-off-by: Olivier Matz
---
lib/librte_net/rte_net.c | 33 -
lib/librte_net/rte_net.h | 7 ++-
2 files cha
Add support of Nvgre tunnels in rte_net_get_ptype(). At the same
time, as Nvgre transports Ethernet, we need to add the support for inner
Vlan, QinQ, and Mpls.
Signed-off-by: Jean Dao
Signed-off-by: Olivier Matz
---
lib/librte_mbuf/rte_mbuf_ptype.h | 7 +++
lib/librte_net/rte_net.c
Add support of Gre tunnels in rte_net_get_ptype().
Signed-off-by: Jean Dao
Signed-off-by: Olivier Matz
---
lib/librte_net/rte_net.c | 40
lib/librte_net/rte_net.h | 2 +-
2 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/lib/librte_net/rte
Add the Gre header structure in librte_net. It will be used by next
patches that adds the support of Gre tunnels in the software packet type
parser.
The extended headers (checksum, key or sequence number) are not defined.
Signed-off-by: Jean Dao
Signed-off-by: Olivier Matz
---
lib/librte_net/M
Add support of IP and IP6 tunnels in rte_net_get_ptype().
We need to duplicate some code because the packet types do not have the
same value for a given protocol between inner and outer.
Signed-off-by: Jean Dao
Signed-off-by: Olivier Matz
---
lib/librte_net/rte_net.c | 158
Add a new RTE_PTYPE_L2_ETHER_QINQ packet type, and its support in
rte_net_get_ptype().
Signed-off-by: Didier Pallard
Signed-off-by: Olivier Matz
---
lib/librte_mbuf/rte_mbuf_ptype.h | 7 +++
lib/librte_net/rte_ether.h | 1 +
lib/librte_net/rte_net.c | 16
li
Add a new RTE_PTYPE_L2_ETHER_VLAN packet type, and its support in
rte_net_get_ptype().
Signed-off-by: Didier Pallard
Signed-off-by: Olivier Matz
---
lib/librte_mbuf/rte_mbuf_ptype.h | 7 +++
lib/librte_net/rte_net.c | 13 +
2 files changed, 20 insertions(+)
diff --git
Introduce the function rte_net_get_ptype() that parses a mbuf and
returns its packet type. For now, the following packet types are parsed:
L2: Ether
L3: IPv4, IPv6
L4: TCP, UDP, SCTP
The goal here is to provide a reference implementation for packet type
parsing. This function will be used
Previously, librte_net only contained header files. Add a C file
(empty for now) and generate a library. It will contain network helpers
like checksum calculation, software packet type parser, ...
Signed-off-by: Olivier Matz
---
MAINTAINERS| 1 +
lib/librte_net/Makefile
The file rte_mbuf.h starts to be quite big, and next commits
will introduce more functions related to packet types. Let's
move them in a new file.
Signed-off-by: Olivier Matz
---
lib/librte_mbuf/Makefile | 2 +-
lib/librte_mbuf/rte_mbuf.h | 495 +--
The proper place for rte_ether.h is in librte_net because it defines
network headers.
Moving it will also prevent to have circular references in the following
patches that will require the Ethernet header definition in rte_mbuf.c.
By the way, fix minor checkpatch issues.
Signed-off-by: Didier Pal
Introduce a new function to read the packet data from an mbuf chain. It
linearizes the data if required, and also ensures that the mbuf is large
enough.
This function is used in next commits that add a software parser to
retrieve the packet type.
Signed-off-by: Olivier Matz
---
doc/guides/rel_n
This patchset introduces a software packet type parser. This
feature is targeted for v16.11.
The goal here is to provide a reference implementation for packet type
parsing. This function will be used by testpmd to compare its result
with the value given by the hardware.
It will also be useful whe
On Mon, 29 Aug 2016 23:16:35 +
"Dey, Souvik" wrote:
> Hi,
>
> I already followed the 100% python way and submitted the v3 of this patch.
> http://dpdk.org/dev/patchwork/patch/15378/
> How will your patch be different in solving the issue. There will always be
> multiple ways to solving thi
On Mon, Aug 22, 2016 at 03:46:11PM +0200, Thomas Monjalon wrote:
> 2016-08-18 16:48, Yuanhan Liu:
> > remove vhost-cuse code, including the eventfd_link kernel module that
> > is for vhost-cuse only.
>
> Please, remove also the deprecation notice. Thanks
Applied to dpdk-next-virtio, with the depr
On Sun, 28 Aug 2016 22:43:54 +
"Dey, Souvik" wrote:
> Hi ,
> Currently as you have mentioned, I have changed the code to:
> static int
> virtio_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
> {
> struct virtio_hw *hw = dev->data->dev_private;
> - if (unlikely(mtu < (uint32_t)
On 29/08/2016 11:01, Pattan, Reshma wrote:
[..]
>> @@ -1506,6 +1508,19 @@ rte_eth_stats_reset(uint8_t port_id)
[..]
>> +/* Clear device running stat counts */
>> +dev_stats = &dev->data->stats;
>> +memset(dev_stats->list_ibuckets, 0,
>> +sizeof(uint64_t) * dev_stats->cnt_bu
The current implementation of jumbo frame rx can be used for
LRO directly without changes. This change enables device
LRO if requested.
Note that since jumbo frame uses both ring0 and ring1, it
cannot be enabled in UPT (VMDirectPath) mode.
Signed-off-by: Yong Wang
Acked-by: Stephen Hemminger
-
Signed-off-by: Yong Wang
Acked-by: Stephen Hemminger
---
doc/guides/nics/vmxnet3.rst | 12 ++--
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index e919088..bf84594 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/d
Signed-off-by: Yong Wang
Acked-by: Stephen Hemminger
---
doc/guides/nics/features/vmxnet3.ini | 21 +
1 file changed, 21 insertions(+)
diff --git a/doc/guides/nics/features/vmxnet3.ini
b/doc/guides/nics/features/vmxnet3.ini
index 20a4c32..c5c75ad 100644
--- a/doc/guides/nic
When adding a DPDK port to a bridge using ovs-vswitchd with DPDK,
the vmxnet3 device fails to activate due to mismatched magic number.
Doing this will incur the following operations: start the port,
stop the port, reconfigure and re-start the port. The reconfig
could request different number of tx
Signed-off-by: Yong Wang
Acked-by: Stephen Hemminger
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 69 ++--
drivers/net/vmxnet3/vmxnet3_ethdev.h | 32 -
drivers/net/vmxnet3/vmxnet3_ring.h | 22 ++--
drivers/net/vmxnet3/vmxnet3_rxtx.c | 59
Signed-off-by: Yong Wang
Acked-by: Stephen Hemminger
Reviewed-by: Juho Snellman
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 23 +++
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c
b/drivers/net/vmxnet3/vmxnet3_ethdev.c
inde
v3:
* fixed transposed # of tx/rx queue comparison
v2:
* updated vmxnet3 feature doc.
* updated vmxnet3 guide to remove stale information.
v1: This patchset includes a few bug fixes and some enhancement.
* Fixed a bug with dev_configure memzone size;
* Enhanced error checks during device start.
2016-08-29 06:22, Finn Christensen:
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> > What is the license of this driver suite?
>
> The driver suite is a closed-source driver, which is not free downloadable.
>
> > IMHO the upstream DPDK shouldn't be a platform for non-free driv
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: 29. august 2016 12:04
> To: Finn Christensen
> Cc: dev at dpdk.org; Stephen Hemminger
> Subject: Re: [dpdk-dev] [PATCH] ntnic: add PMD driver
>
> 2016-08-29 06:22, Finn Christensen:
> > From: Stephen Hemminger [mailto:stephen a
Depending of the checkpatch version in use, more or less notes are
printed below the report.
Only 6 lines were stripped, resulting to such note being printed:
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
The stripping is
We did this slightly differently. This is 100% python and is a bit more
general. We search for the first "net" directory under the specific device
directory.
---
--- tools/dpdk-devbind.py 2016-08-29 11:02:35.594202888 -0400
+++ ../dpdk/tools/dpdk-dev
On 8/29/2016 10:36 AM, Ferruh Yigit wrote:
> Hi Vincent,
>
> On 8/29/2016 3:12 AM, Vincent Guo wrote:
>> Fix pernet calls when HAVE_SIMPLIFIED_PERNET_OPERATIONS is not set.
>>
>> Signed-off-by: Vincent Guo
>> ---
>
> Thank you for the update, patch applies well this time.
>
> A few more small d
Hi Vincent,
On 8/29/2016 3:12 AM, Vincent Guo wrote:
> Fix pernet calls when HAVE_SIMPLIFIED_PERNET_OPERATIONS is not set.
>
> Signed-off-by: Vincent Guo
> ---
Thank you for the update, patch applies well this time.
A few more small details:
- Patch subject should start with a label/tag, that
When checking a git reference which does not exist, a git error
with the long git-branch usage is printed:
% scripts/check-git-log.sh '-1 3780cbd'
error: malformed object name 2de9f8551ff9
usage: git branch ...
[a lot of lines]
Wrong 'Fixes' reference:
Fixes: 2de9f8551ff9 ("ethdev: fix documen
Fix pernet calls when HAVE_SIMPLIFIED_PERNET_OPERATIONS is not set.
Signed-off-by: Vincent Guo
---
lib/librte_eal/linuxapp/kni/kni_misc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c
b/lib/librte_eal/linuxapp/kni/kni_misc.c
index
FreeBSD make install fails because of unsupported tar option:
tar: Option --warning=no-ignore-newer is not supported
Issue fixed by removing unsupported tar option.
Fixes: 6b62a72a70d0 ("mk: install a standard cutomizable tree")
Fixes: e4552b9cc603 ("mk: install doc")
Reported-by: Daniel Verkamp
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Remy Horton
> Sent: Wednesday, August 24, 2016 3:58 PM
> To: thomas.monjalon at 6wind.com
> Cc: dev at dpdk.org
> Subject: [dpdk-dev] [RFC PATCH v1] rte: add bit-rate metrics to xstats
>
> This patch adds peak
Hi,
> uint16_t
> diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c
> b/drivers/net/fm10k/fm10k_rxtx_vec.c
> index 9ea747e..8c08b44 100644
> --- a/drivers/net/fm10k/fm10k_rxtx_vec.c
> +++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
> @@ -95,8 +95,10 @@ fm10k_desc_to_olflags_v(__m128i descs[4], struct rte_m
On Fri, Aug 5, 2016 at 1:36 PM, Jianfeng Tan wrote:
> Patch 1: fix issue when using virtio_user with OVS-DPDK.
> Patch 2: fix issue when using virtio_user with VPP.
> Patch 3: fix issue when failing to start virtio_user devices.
>
> Signed-off-by: Jianfeng Tan
>
> Jianfeng Tan (3):
> net/virti
On Fri, Aug 26, 2016 at 11:30 PM, Pablo de Lara <
pablo.de.lara.guarch at intel.com> wrote:
> Pablo de Lara (3):
> hash: fix ring size
> hash: fix false zero signature key hit lookup
> hash: check if slot is empty with key index
>
Thanks Pablo,
I'd suggest to include #1 and #2 for stable as
Btw, some good news: if I run a simple dequeue workload (running rxonly in
vhost-pmd and runnin txonly in guest testpmd), it yields ~50% performance boost
for packet size 1518B, but this case is without NIC.
And similar case as vhost<-->virtio loopback, we can see ~10% performance gains
at 1518
I just ran a PVP test, nic receive packets then forwards to vhost PMD, and
virtio user interface. I didn't see any performance gains in this scenario. All
packet size from 64B to 1518B
performance haven't got benefit from this patchset, and in fact, the
performance dropped a lot before 1280B, a
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: 26. august 2016 18:54
> To: Finn Christensen
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] ntnic: add PMD driver
>
> On Fri, 26 Aug 2016 13:44:01 +
> Finn Christensen wrote:
>
> > +The NTNIC poll mode driver li
Hi Bernard,
> -Original Message-
> From: Iremonger, Bernard
> Sent: Friday, August 26, 2016 6:04 PM
> To: Lu, Wenzhuo; dev at dpdk.org
> Cc: De Lara Guarch, Pablo; Wu, Jingjing
> Subject: RE: [dpdk-dev] [PATCH] app/testpmd: fix DCB config issue on ixgbe
>
> Hi Wenzhuo,
>
>
>
> > > > >
Hi Luca,
> -Original Message-
> From: Luca Boccassi [mailto:lboccass at Brocade.com]
> Sent: Friday, August 26, 2016 8:58 PM
> To: Lu, Wenzhuo
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 0/4] support reset of VF link
>
> On Mon, 2016-07-11 at 15:43 +, Luca Boccassi wrot
69 matches
Mail list logo