[dpdk-dev] [dpdk-announce] DPDK 1.7.1 released

2014-09-03 Thread Thomas Monjalon
A new DPDK release can be downloaded here: http://dpdk.org/browse/dpdk/tag/?id=v1.7.1 It contains some bug fixes and drivers enhancements. Changelog (main changes since 1.7.0) - fixes for: * ixgbe crash * i40e with BSD * vmxnet3 with

[dpdk-dev] [PATCH 13/13] ixgbe: Improve slow-path perf: vector scattered RX

2014-09-03 Thread Bruce Richardson
Provide a wrapper routine to enable receive of scattered packets with a vector driver. Signed-off-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 16 lib/librte_pmd_ixgbe/ixgbe_rxtx.h | 1 + lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 173

[dpdk-dev] [PATCH 12/13] ixgbe: Fix perf regression due to moved pool ptr

2014-09-03 Thread Bruce Richardson
Adjust the fast-path code to fix the regression caused by the pool pointer moving to the second cache line. This change adjusts the prefetching and also the way in which the mbufs are freed back to the mempool. Note: slow-path e.g. path supporting jumbo frames, is still slower, but is dealt with by

[dpdk-dev] [PATCH 11/13] mbuf: move l2_len and l3_len to second cache line

2014-09-03 Thread Bruce Richardson
The l2_len and l3_len fields are used for TX offloads and so should be put on the second cache line, along with the other fields only used on TX. Signed-off-by: Bruce Richardson --- lib/librte_mbuf/rte_mbuf.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/librte_mb

[dpdk-dev] [PATCH 10/13] mbuf: split mbuf across two cache lines.

2014-09-03 Thread Bruce Richardson
This change splits the mbuf in two to move the pool and next pointers to the second cache line. This frees up 16 bytes in first cache line. Signed-off-by: Bruce Richardson --- app/test/test_mbuf.c | 2 +- lib/librte_mbuf/rte_mbuf.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-)

[dpdk-dev] [PATCH 09/13] ixgbe: rework vector pmd following mbuf changes

2014-09-03 Thread Bruce Richardson
The vector PMD expects fields to be in a specific order so that it can do vector operations on multiple fields at a time. Following mbuf rework, adjust driver to take account of the new layout and re-enable it in the config. Signed-off-by: Bruce Richardson --- config/common_linuxapp

[dpdk-dev] [PATCH 08/13] mbuf: add named points inside the mbuf structure

2014-09-03 Thread Bruce Richardson
Add markers or "labels" at given points inside the mbuf which can be used instead of individual fields to identify the start of logical sections inside the mbuf. The use of typedefs and dummy fields was chosen over using unions because of a couple reasons: * unions cause an extra level of indentat

[dpdk-dev] [PATCH 07/13] mbuf: use macros only to access the mbuf metadata

2014-09-03 Thread Bruce Richardson
Removed the explicit zero-sized metadata definition at the end of the mbuf data structure. Updated the metadata macros to take account of this change so that all existing code which uses those macros still works. Signed-off-by: Bruce Richardson --- lib/librte_mbuf/rte_mbuf.h | 22 ---

[dpdk-dev] [PATCH 06/13] mbuf: minor changes for readability

2014-09-03 Thread Bruce Richardson
* Ensure comments line up correctly * Simplify the #ifdefs around the refcnt fields to make them clearer Signed-off-by: Bruce Richardson --- lib/librte_mbuf/rte_mbuf.h | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mb

[dpdk-dev] [PATCH 05/13] mbuf: introduce a flag to indicate a control mbuf

2014-09-03 Thread Bruce Richardson
Since the flags field is now 64-bits, we can allow one bit to be used to indicate a control i.e. non-packet mbuf. Dedicate the high bit (bit 63) for this purpose and add in a utility macro to test if a given mbuf has the bit set or not. Signed-off-by: Bruce Richardson --- lib/librte_mbuf/rte_mbu

[dpdk-dev] [PATCH 04/13] mbuf: expand ol_flags field to 64-bits

2014-09-03 Thread Bruce Richardson
The offload flags field (ol_flags) was 16-bits and had no further room for expansion. This patch increases the field size to 64-bits, using up the remaining reserved space in the single-cache-line mbuf. NOTE: none of the values for existing flags have been changed, i.e. no new numbers have been ex

[dpdk-dev] [PATCH 03/13] mbuf: add packet_type field

2014-09-03 Thread Bruce Richardson
Replace a reserved slot with the new packet type field used to identify the type of the packet, i.e. what protocols are used. Signed-off-by: Bruce Richardson --- lib/librte_mbuf/rte_mbuf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte

[dpdk-dev] [PATCH 02/13] mbuf: reorder fields by time of use

2014-09-03 Thread Bruce Richardson
* Reorder the fields in the mbuf so that we have fields that are used$ together side-by-side in the structure. This means that we have a$ contiguous block of 8-bytes in the mbuf which are used to reset an mbuf$ of descriptor rearm, and a block of 16-bytes of data (excluding flags) which are set on

[dpdk-dev] [PATCH 01/13] mbuf: replace data pointer by an offset

2014-09-03 Thread Bruce Richardson
From: Olivier Matz Original patch: The mbuf structure already contains a pointer to the beginning of the buffer (m->buf_addr). It is not needed to use 8 bytes again to store another pointer to the beginning of the data. Using a 16 bits unsigned integer is enough as we know that a mbuf is ne

[dpdk-dev] [PATCH 00/13] Mbuf Structure Rework, part 2

2014-09-03 Thread Bruce Richardson
This patch set continues on from the changes in part 1, and depends upon that patch set. This patch set reorders the fields in the mbuf structure and splits the structure across two cache lines, given lots of new space for new fields to be added. This set uses some of that space by expanding the

[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

2014-09-03 Thread Gray, Mark D
> > > > > > Hi Franck, > > > > > > 2014-09-02 13:20, Franck BAUDIN: > > > > I am using dpdk-ovs 1.1.0 (latest release) as follow : > > > > > > > > linux-guest (no DPKD) <--- virtIO ---> OVDK 1.1.0 (with latest > > > > DPDK [*]) < -- > > > - Niantic --- > linux-native > > > > > > > [...] > > > > UD

[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

2014-09-03 Thread Franck Baudin
Hi, On 09/03/14 13:13, Xie, Huawei wrote: > Looping in the dpdk-ovs list. > > * Does the new vhost API allow a user to know if all the relevant offloads > have > been > turned on/off for that interface? It seems that this is possible through the > virtio_net > structure but it would be good to ge

[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

2014-09-03 Thread Gray, Mark D
> > Hi, > > On 09/03/14 13:13, Xie, Huawei wrote: > > Looping in the dpdk-ovs list. > > > > * Does the new vhost API allow a user to know if all the relevant > > offloads have been turned on/off for that interface? It seems that > > this is possible through the virtio_net structure but it would b

[dpdk-dev] [PATCH 2/3] lib/librte_vhost: vhost library support to facilitate integration with DPDK accelerated vswitch

2014-09-03 Thread Tetsuya.Mukawa
(2014/09/03 14:39), Xie, Huawei wrote: > Thanks Tetsuya: > Some of them are due to 80 character limitation. Is it ok to break the > limitation for better indentation? It's is up to the cording style of dpdk. But, there may be no strict rule in dpdk. So please use your original cord. :) Than

[dpdk-dev] [PATCH 2/3] lib/librte_vhost: vhost library support to facilitate integration with DPDK accelerated vswitch

2014-09-03 Thread Tetsuya.Mukawa
Hi Huawei, I added few comments. Mainly those comments are about source code indent. (2014/09/02 17:55), Huawei Xie wrote: > + > +/** > + * Structure contains variables relevant to RX/TX virtqueues. > + */ > +struct vhost_virtqueue { > + /**< descriptor ring. */ > + struct vring_desc*

[dpdk-dev] [PATCH] eal: remove kni file from bsdapp eal

2014-09-03 Thread Bruce Richardson
KNI applies only to linux, so there should be no need for any kni files to be present in the bsdapp eal folder. Signed-off-by: Bruce Richardson --- lib/librte_eal/bsdapp/eal/Makefile | 2 +- .../bsdapp/eal/include/exec-env/rte_kni_common.h | 166 - 2 files

[dpdk-dev] [PATCH 2/2] hash: rte_hash_crc uses 8- and 4-byte CRC32 intrinsics

2014-09-03 Thread Yerden Zhumabekov
Calculating hash for data of variable length is more efficient when that data is sliced into 8-byte pieces. The rest part of data is hashed using either 8 and 4-byte CRC32 intrinsics. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 31 +++ 1 fi

[dpdk-dev] [PATCH 1/2] hash: add new rte_hash_crc_8byte call

2014-09-03 Thread Yerden Zhumabekov
SSE4.2 provides _mm_crc32_u64 intrinsic with 8-byte operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 16 1 file changed, 16 insertions(+) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index b48b0db..102b2a0 100644 -

[dpdk-dev] [PATCH 0/2] rewritten rte_hash_crc() call

2014-09-03 Thread Yerden Zhumabekov
As SSE4.2 provides CRC32 instructions with either 32 and 64 bit operands, new rte_hash_crc_8byte() call assisted with _mm_crc32_u64 intrinsic may be useful. Then, rte_hash_crc() function is redesigned to take advantage of both 32 and 64 bit operands. This improves the function's performance signif

[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

2014-09-03 Thread Xie, Huawei
> -Original Message- > From: Gray, Mark D > Sent: Wednesday, September 03, 2014 6:01 PM > To: Thomas Monjalon; Franck BAUDIN; Xie, Huawei > Cc: dev at dpdk.org; dpdk-ovs at lists.01.org > Subject: RE: [dpdk-dev] Wrong TCP checksum of packets sent by Linux guest > (virtIO/vhost) > > > > >

[dpdk-dev] Wrong TCP checksum of packets sent by Linux guest (virtIO/vhost)

2014-09-03 Thread Gray, Mark D
> > Hi Franck, > > 2014-09-02 13:20, Franck BAUDIN: > > I am using dpdk-ovs 1.1.0 (latest release) as follow : > > > > linux-guest (no DPKD) <--- virtIO ---> OVDK 1.1.0 (with latest DPDK [*]) < > > -- > - Niantic --- > linux-native > > > [...] > > UDP/ICMP connectivity is fine, but TCP checksum

[dpdk-dev] [PATCH 2/3] lib/librte_vhost: vhost library support to facilitate integration with DPDK accelerated vswitch

2014-09-03 Thread Ananyev, Konstantin
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Stephen Hemminger > Sent: Wednesday, September 03, 2014 7:02 AM > To: Xie, Huawei > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 2/3] lib/librte_vhost: vhost library support > to facilitate integration with DPDK accelerated vswitch

[dpdk-dev] DPDK and custom memory

2014-09-03 Thread Neil Horman
On Wed, Sep 03, 2014 at 01:17:53AM +, Saygin, Artur wrote: > Thanks for prompt responses! > > To clarify, the questions is not about accessing a NIC, but about a NIC > accessing a very specific block of physical memory, possibly non-kernel > managed. > Still not sure what you mean here by n

[dpdk-dev] [PATCH 2/3] lib/librte_vhost: vhost library support to facilitate integration with DPDK accelerated vswitch

2014-09-03 Thread Xie, Huawei
Thanks Tetsuya: Some of them are due to 80 character limitation. Is it ok to break the limitation for better indentation? > -Original Message- > From: Tetsuya.Mukawa [mailto:mukawa at igel.co.jp] > Sent: Wednesday, September 03, 2014 11:39 AM > To: Xie, Huawei; dev at dpdk.org > S

[dpdk-dev] [PATCH 1/2] igb_uio: fix compability on old kernel

2014-09-03 Thread Thomas Monjalon
Hi Stephen, There are some reports about build errors with igb_uio. This is critical for the release. As your patches have introduced this problem, we'd like to have your opinion. For release 1.7.1, I've reverted MSI support. We should try to fix it for next release. 2014-09-01 16:55, Guillaume

[dpdk-dev] [PATCHv5] librte_acl make it build/work for 'default' target

2014-09-03 Thread Thomas Monjalon
> > Make ACL library to build/work on 'default' architecture: > > - make rte_acl_classify_scalar really scalar > > (make sure it wouldn't use sse4 instrincts through resolve_priority()). > > - Provide two versions of rte_acl_classify code path: > > rte_acl_classify_sse() - could be build and use

[dpdk-dev] [PATCH 0/5] app/test: unit test to measure cycles per packet

2014-09-03 Thread Zhan, Zhaochen
> It provides unit test to measure cycles/packet in NIC loopback mode. > It simply gives the average cycles of IO used per packet without test > equipment. > When doing the test, make sure the link is UP. Tested-by: Zhaochen Zhan This patch has been verified on ixgbe and it is ready to be integ