The cores in a single CPU may be not all
the same.
The user tool is updated to show the
difference of the cores.
This patch addes below informantion,
1, Group the cores based on the die.
2, A core is either a performance core or an
efficency core.
A performance core is shown as 'Core-P'.
This patch adds sparse mmap support in PCI bus. Sparse mmap is a
capability defined in VFIO which allows multiple mmap areas in one
VFIO region.
Signed-off-by: Chenbo Xia
---
drivers/baseband/acc/rte_acc100_pmd.c | 6 +-
drivers/baseband/acc/rte_vrb_pmd.c| 6 +-
.../fpga_
The MMIO regions may not be mmap-able for VFIO-PCI devices.
In this case, the driver should explicitly do read and write
to access these regions.
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/bsd/pci.c| 22 +++
drivers/bus/pci/linux/pci.c | 46 +++
This patch introduces an internal representation of the PCI device
which will be used to store the internal information that don't have
to be exposed to drivers, e.g., the VFIO region sizes/offsets.
In this patch, the internal structure is simply a wrapper of the
rte_pci_device structure. More fie
The value 40 used in VFIO_GET_REGION_ADDR() is a private value
(VFIO_PCI_OFFSET_SHIFT) defined in Linux kernel source [1]. It
is not part of VFIO API, and we should not depend on it.
[1] https://github.com/torvalds/linux/blob/v6.2/include/linux/vfio_pci_core.h
Signed-off-by: Chenbo Xia
---
driv
This series introduces a VFIO standard capability, called sparse
mmap to PCI bus. In linux kernel, it's defined as
VFIO_REGION_INFO_CAP_SPARSE_MMAP. Sparse mmap means instead of
mmap whole BAR region into DPDK process, only mmap part of the
BAR region after getting sparse mmap information from kern
Add a specific path for RX AVX2.
In this path, support the HW offload features, like,
checksum, VLAN stripping, RSS hash.
This path is chosen automatically according to the
configuration.
'inline' is used, then the duplicate code is generated
by the compiler.
Signed-off-by: Wenzhuo Lu
---
drive
Add a specific path for RX/TX AVX2.
In this path, support the HW offload features, like,
checksum, VLAN stripping, RSS hash.
These offload features are removed from the original
path to make that path faster in case no HW feature
needed.
*** BLURB HERE ***
Wenzhuo Lu (2):
net/iavf: add Tx AVX2
Add a specific path for TX AVX2.
In this path, support the HW offload features, like,
checksum insertion, VLAN insertion.
This path is chosen automatically according to the
configuration.
'inline' is used, then the duplicate code is generated
by the compiler.
Signed-off-by: Wenzhuo Lu
---
drive
This patch adds devargs to enable reset watchdog for iavf, use
'-a {pci::xx:xx:x},watchdog_period={microseconds}' to enable watchdog.
If the watchdog period is configured through the IAVF_DEV_WATCHDOG_PERIOD
and devargs at the same time, the IAVF_DEV_WATCHDOG_PERIOD will prevail.
Signed-off-b
> -Original Message-
> From: Ferruh Yigit
> Sent: Friday, April 14, 2023 23:40
> To: Guo, Junfeng ; Rushil Gupta
> ; Zhang, Qi Z ; Wu, Jingjing
>
> Cc: joshw...@google.com; dev@dpdk.org; Jeroen de Borst
> ; Aaron Conole ;
> dpdklab
> Subject: Re: [PATCH] net/gve: Check whether the driv
> -Original Message-
> From: Shijith Thotton
> Sent: Monday, April 17, 2023 11:22 PM
> To: jer...@marvell.com; Naga Harish K, S V
> Cc: Shijith Thotton ; dev@dpdk.org;
> pbhagavat...@marvell.com; sta...@dpdk.org; ano...@marvell.com; Gujjar,
> Abhinandan S
> Subject: [PATCH v1] test/eve
ping
Hello:
When using rte_malloc and rte_free to request and release memory repeatedly,
the usage of large pages gradually increases.
Checking the relevant source code shows that memory requests and releases are
started from the head of the freelist chain list of the heap. Memory
fragmen
>
> The runtime parameters for the crypto adapter are applicable only for
> devices without an internal port. To accommodate this, the UT has been
> updated to skip the test for checking the runtime parameters if the API to set
> runtime parameters is not supported.
>
> Fixes: 04ed18cd41f1 ("even
17/04/2023 16:46, Tyler Retzlaff пишет:
On Sun, Apr 16, 2023 at 10:29:38PM +0100, Konstantin Ananyev wrote:
10/04/2023 21:53, Tyler Retzlaff пишет:
On Mon, Apr 10, 2023 at 08:59:33PM +0100, Konstantin Ananyev wrote:
06/04/2023 01:45, Tyler Retzlaff пишет:
Forward declaration of a typedef is a
Hi Maxime,
On Fri, Mar 31, 2023 at 11:43 AM Maxime Coquelin
wrote:
>
> This patch introduces a helper to check whether two IOTLB
> entries share a page.
>
> Signed-off-by: Maxime Coquelin
> ---
> lib/vhost/iotlb.c | 25 -
> 1 file changed, 20 insertions(+), 5 deletions(-
On Fri, Mar 31, 2023 at 11:43 AM Maxime Coquelin
wrote:
>
> Commit 22b6d0ac691a ("vhost: fix madvise IOTLB entries pages overlap check")
> fixed the check to ensure the entry to be removed does not
> overlap with the next one in the IOTLB cache before marking
> it as DONTDUMP with madvise(). This
The pointer to the table statistics data structure needs to be set
to NULL after free inside the table_build_free(), as this function is
called from multiple places, leading to double memory free error.
Similar fix for the learner_build_free() function.
Fixes: 742b0a57f50 ("pipeline: add table st
Previously the noisy neighbour vnf simulation would only operate in io
mode, forwarding packets as is. However, this limited the usefulness of
noisy neighbour simulation.
This feature has now been expanded to supporting mac, macswap, and
5tswap modes. To facilitate adding this support, some new he
The runtime parameters for the crypto adapter are applicable only for
devices without an internal port. To accommodate this, the UT has been
updated to skip the test for checking the runtime parameters if the API
to set runtime parameters is not supported.
Fixes: 04ed18cd41f1 ("eventdev/crypto: su
Hi folks,
just soliciting some review for this orphan of a series. Bruce, Morten
have you got some cycles to take a look?
Thanks
On Fri, Mar 17, 2023 at 03:34:14PM -0700, Tyler Retzlaff wrote:
> Adopt rte thread APIs in code built for Windows to decouple it from the
> pthread shim.
>
> Remove m
On 4/15/2023 2:38 AM, fengchengwen wrote:
> Hi Thomas, Ferruh,
>
> This patch-set get almost 30% ack by PMD's maintainer.
> Could it be applied? and squeeze the patch-set is okay.
>
Hi Chengwen,
The patch is trivial and safe on its own, so for me having enough ack or
not is not what blocks
When building with MSVC do not assume typeof is a macro and don't
define a typeof macro that conflicts with C23 typeof keyword.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/rte_common.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/eal/include/rte_common
The MSVC compiler does not target big endian platforms so define
little endian always.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/generic/rte_byteorder.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/eal/include/generic/rte_byteorder.h
b/lib/eal/inclu
It's discouraged to use rte_atomics APIs instead standard APIs should be
used from C11. Since MSVC is a new toolchain/platform combination block
visibility of the rte_atomic APIs from day 1.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/generic/rte_atomic.h | 7 +
When compiling with MSVC don't expose typedefs used as alignment
markers.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/rte_common.h | 4
1 file changed, 4 insertions(+)
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index 15765b4..2f4
When compiling with MSVC don't expose typedefs based on GCC vector
extensions.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/generic/rte_vect.h | 4
1 file changed, 4 insertions(+)
diff --git a/lib/eal/include/generic/rte_vect.h
b/lib/eal/include/generic/rte_v
For now expand a lot of common rte macros empty. The catch here is we
need to test that most of the macros do what they should but at the same
time they are blocking work needed to bootstrap of the unit tests.
Later we will return and provide (where possible) expansions that work
correctly for msv
Windows does not support versioned symbols. Fortunately Windows also
doesn't have an exported stable ABI.
Export rte_tel_data_add_array_int -> rte_tel_data_add_array_int_24
and rte_tel_data_add_dict_int -> rte_tel_data_add_dict_int_v24
functions.
Windows does have a way to achieve similar version
Inline assembly is not supported for MSVC x64 instead expand
use _byteswap_u{ushort,ulong,uint64} intrinsics instead.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/include/generic/rte_byteorder.h | 11 +++
lib/eal/x86/include/rte_byteorder.h | 4
2 files ch
Inline assembly is not supported for MSVC x64 instead use _mm_prefetch
and _mm_cldemote intrinsics.
Signed-off-by: Tyler Retzlaff
Acked-by: Bruce Richardson
Acked-by: Morten Brørup
---
lib/eal/x86/include/rte_prefetch.h | 25 +
1 file changed, 21 insertions(+), 4 deleti
Inline assembly is not supported for MSVC x64 instead use _umonitor,
_umwait and _tpause intrinsics.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/x86/rte_power_intrinsics.c | 12
1 file changed, 12 insertions(+)
diff --git a/lib/eal/x86/rte_power_intrinsics.c
Inline assembly is not supported for MSVC x64 instead use __cpuid
and __cpuidex intrinsics.
Signed-off-by: Tyler Retzlaff
Acked-by: Morten Brørup
---
lib/eal/x86/rte_cpuflags.c | 4
lib/eal/x86/rte_cpuid.h | 7 +++
lib/eal/x86/rte_cycles.c | 36
In accordance with draft plan
http://mails.dpdk.org/archives/web/2023-February/002023.html
introduces conditionally compiled code to enable building with MSVC that
_does not_ require C99/C11 meaning it can be integrated now.
This series covers minimal changes for item #2 in draft plan for EAL
depe
Inline assembly is not supported for MSVC x64 instead expand
rte_compiler_barrier as _ReadWriteBarrier and for rte_smp_mb
_m_mfence intrinsics.
Signed-off-by: Tyler Retzlaff
Acked-by: Bruce Richardson
Acked-by: Konstantin Ananyev
Acked-by: Morten Brørup
---
lib/eal/include/generic/rte_atomic.
Inline assembly is not supported for MSVC x64. Convert code to use
_xend, _xabort and _xtest intrinsics.
Signed-off-by: Tyler Retzlaff
Acked-by: Bruce Richardson
Acked-by: Konstantin Ananyev
Acked-by: Morten Brørup
---
config/x86/meson.build| 6 ++
lib/eal/x86/include/rte_rtm.h |
Inline assembly is not supported for MSVC x64. Convert code to use
__rdtsc intrinsic.
Signed-off-by: Tyler Retzlaff
Acked-by: Konstantin Ananyev
Acked-by: Morten Brørup
---
lib/eal/x86/include/rte_cycles.h | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/e
On 4/7/2023 11:16 AM, Denis Pryazhennikov wrote:
> Hi,
>
Hi Denis,
cc'ed Connor as author of the feature and Andrew & Ajit as reviewers of it.
> We are currently working on implementing the Forward Error Correction
> (FEC) feature in our driver, but we have encountered some difficulties
> in un
On Sun, Apr 16, 2023 at 10:29:38PM +0100, Konstantin Ananyev wrote:
> 10/04/2023 21:53, Tyler Retzlaff пишет:
> >On Mon, Apr 10, 2023 at 08:59:33PM +0100, Konstantin Ananyev wrote:
> >>06/04/2023 01:45, Tyler Retzlaff пишет:
> >>>Forward declaration of a typedef is a non-standard extension and is n
On 2023-04-17 14:52, Jerin Jacob wrote:
> On Thu, Apr 13, 2023 at 12:24 PM Mattias Rönnblom
> wrote:
>>
>>
>> void
>> rte_event_return_new_credits(...);
>>
>> Thoughts?
>
> I see the following cons on this approach.
>
Does the use case in my original e-mail seem like a reasonable one to
you? I
On Sat, Apr 15, 2023 at 03:52:27PM -0700, Stephen Hemminger wrote:
> On Sun, 16 Apr 2023 00:41:54 +0200
> Morten Brørup wrote:
>
> > > > > > > /**
> > > > > > > * Force a structure to be packed
> > > > > > > */
> > > > > > > +#ifndef RTE_TOOLCHAIN_MSVC
> > > > > > > #define __rte_packed __a
From: kamalakannan R
The pointer to the table statistics data structure needs to be set
to NULL after free inside the table_build_free(), as this function is
called from multiple places, leading to double memory free error.
Similar fix for the learner_build_free() function.
Fixes: 742b0a57f50 (
From: kamalakannanr89
The pointer to the table statistics data structure needs to be set
to NULL after free inside the table_build_free(), as this function is
called from multiple places, leading to double memory free error.
Similar fix for the learner_build_free() function.
Fixes: 742b0a57f50
On Thu, Mar 30, 2023 at 6:18 PM Jerin Jacob wrote:
>
> On Wed, Mar 15, 2023 at 7:17 PM Jerin Jacob wrote:
> >
> > On Fri, Mar 3, 2023 at 11:55 PM Thomas Monjalon wrote:
> > >
> > > Thanks for formalizing our process.
> >
> > Thanks for the review.
>
> Ping
@Thomas Monjalon Could you check the
When using the ring to find out tailq entry, however it had been
freed by rte_memzone_free function. This change prevents that
from happening.
Fixes: 4e32101f9b01 ("ring: support freeing")
Cc: sta...@dpdk.org
Signed-off-by: Yunjian Wang
---
lib/ring/rte_ring.c | 11 +--
1 file changed,
On Thu, Apr 13, 2023 at 12:24 PM Mattias Rönnblom
wrote:
>
>
> void
> rte_event_return_new_credits(...);
>
> Thoughts?
I see the following cons on this approach.
# Adding multiple APIs in fast path to driver layer may not
performance effective solution.
# At least for cnxk HW, credits are for de
> From: Morten Brørup
> Sent: Monday, 17 April 2023 12.02
Resent to Luca's other email address. The debian.org address could not be
reached due to SPF problems. (Luca has been informed directly.)
>
> > From: David Marchand [mailto:david.march...@redhat.com]
> > Sent: Monday, 17 April 2023 09.11
> -Original Message-
> From: Luca Boccassi
> Sent: Friday, April 14, 2023 6:07 PM
> To: Xu, HailinX
> Cc: sta...@dpdk.org; dev@dpdk.org; Walker, Benjamin
> ; Stokes, Ian ;
> Mcnamara, John ; Xu, Qian Q
> ; Thomas Monjalon ; Peng,
> Yuan ; Chen, Zhaoyan
> Subject: Re: 20.11.8 patches revi
> From: David Marchand [mailto:david.march...@redhat.com]
> Sent: Monday, 17 April 2023 09.11
>
> On Mon, Apr 17, 2023 at 3:58 AM Mingjin Ye wrote:
> >
> > VRRP advertisement packets are dropped on i40e PF device because
> > when a MAC address is added to a device, packets originating from
> > th
Reserve the push data buffer for each job and the maximum
length is set to 128 for now.
Only supports type IPPROTO_ROUTING when translating the rte
flow action.
Pop actions must be shared globally and only supports next layer
as TCP or UDP.
Signed-off-by: Rongwei Liu
---
doc/guides/nics/mlx5.r
Add two dr_actions to implement IPv6 routing extension push and
pop, the new actions are multiple actions combination instead
of new types.
Basically, there are two modify headers plus one reformat action.
Action order is the same as encap and decap actions.
Signed-off-by: Rongwei Liu
---
drive
The rte action will be translated to 3 dr_actions which need
3 setters to program them.
For each setter, it may have different reparsing properties.
Setter which requires no reparse can't share the same one with
the one has reparse enabled even if there is spare space.
Signed-off-by: Rongwei Liu
Both checksum and IPv6 next_hdr needs to be updated when
adding or removing srv6 header into/from IPv6 packets.
1. Add srv6
ste1 (push buffer with next_hdr 0) --> ste2 (IPv6 next_hdr to 0x2b)
--> ste3 (load next hop IPv6 address, and srv6 next_hdr restore)
2. Remove srv6
ste1 (set srv6 ne
When removing the IPv6 routing extension header from the
packets, the destination address should be updated to the
last one in the segment list.
Enlarge the hardware sample scope to cover the last segment.
Signed-off-by: Rongwei Liu
---
drivers/net/mlx5/mlx5.c | 42
Add command lines to generate IPv6 routing extension push and
remove patterns and follow the raw_encap/decap style.
Add the new actions to the action template parsing.
Generating the action patterns
1. IPv6 routing extension push
set ipv6_ext_push 1 ipv6_ext type is 43 /
ipv6_routing_
Allocate two groups of RTC to control hardware reparsing
when flow is updated.
1. Group 1 always reparse the traffic after packet is modified
by any hardware module. This is the default behavior which is
the same as before.
2. Group 2 doesn't perform any packets reparsing. This will help
t
Add new rte actions to push or remove specific IPv6 extension
header from the network packets.
Rongwei Liu (8):
ethdev: add IPv6 extension push remove action
app/testpmd: add IPv6 extension push remove cli
net/mlx5/hws: add no reparse support
net/mlx5: sample the srv6 last segment
net/ml
Add new rte_actions to push and remove the specific
type of IPv6 extension to and from original packets.
A new extension to be pushed should be the last extension
due to the next header awareness.
Remove can support the IPv6 extension in any position.
Signed-off-by: Rongwei Liu
---
doc/guides/
Rearrange the reorder buffer structure to prevent padding to extra one
cache line.
Current layout:
struct rte_reorder_buffer {
char name[RTE_REORDER_NAMESIZE];
uint32_t min_seqn;
unsigned int memsize;
// -> padding to cache align (cir_buffer is also cache aligned)
s
On 4/12/2023 2:57 PM, Ivan Malov wrote:
> The driver supports representor functionality. In it,
> packets coming from VFs to the dedicated back-end Rx
> queue get demultiplexed into front-end Rx queues of
> representor ethdevs as per the per-packet metadata
> indicating logical HW ingress ports. On
Hi,
This interaction with eventdev introduces some overhead. Isn't it easier to
just create an API to query the available credit for a certain event port?
Regards,
Heng
-Original Message-
From: Mattias Rönnblom
Sent: Thursday, April 13, 2023 8:54 AM
To: Jerin Jacob Kollanukkaran
Cc:
For vmxnet3 to work in UPT mode, the BAR sizes have been increased.
The PT page has been extended to 2 pages and also includes OOB pages
as a part of PT BAR. This patch enhances vmxnet3 to use appropriate
BAR offsets based on the capability registered. To use new offsets,
VMXNET3_CAP_LARGE_BAR need
vmxnet3 is currently at version 6 and this patch initiates the
preparation to accommodate changes for upto version 7. Introduced
utility macros for vmxnet3 version 7 comparison.
Signed-off-by: Ronak Doshi
Acked-by: Jochen Behrens
---
drivers/net/vmxnet3/vmxnet3_ethdev.h | 2 ++
1 file changed,
With all vmxnet3 version 7 changes incorporated in the vmxnet3 driver,
the driver can configure emulation to run at vmxnet3 version 7, provided
the emulation advertises support for version 7.
Signed-off-by: Ronak Doshi
Acked-by: Jochen Behrens
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 6 +-
When UPT is enabled, the driver updates rxprod register to
let the device know that it has processed the received packets
and new buffers are available. However, updating it too
frequently can lead to reduced performance.
This patch adds code to avoid updating the register frequently.
Signed-off-
Currently, vmxnet3 does not have a limit on number of descriptors
used for a TSO packet. However, with UPT, for hardware performance
reasons, this patch limits the number of transmit descriptors to 24
for a TSO packet.
Signed-off-by: Ronak Doshi
Acked-by: Jochen Behrens
---
drivers/net/vmxnet3/
This patch adds a new command to set ring buffer sizes. This is
required to pass the buffer size information to passthrough devices.
Also, ring sizes are round down to power of 2.
Signed-off-by: Ronak Doshi
Acked-by: Jochen Behrens
---
drivers/net/vmxnet3/base/vmxnet3_defs.h | 15 ++
This patch enhances vmxnet3 to suuport capability registers which
allows it to enable features selectively. The DCR register tracks
the capabilities vmxnet3 device supports. The PTCR register states
the capabilities that the passthrough device supports.
With the help of these registers, vmxnet3 ca
vmxnet3 emulation has recently added several new features including
support for uniform passthrough(UPT). To make UPT work vmxnet3 has
to be enhanced as per the new specification. This patch series
extends the vmxnet3 driver to leverage these new features.
Compatibility is maintained using existin
Hi,
This patch fixed the issue of qdma route by port for PCIe VF.
"vfa" bit determines if "vfid" is valid or not.
Route by port is a kind of qdam transfer used for PCIe EP to access host by
PCIe address and PCIe function. Another kind of transfer to access host is by
PCIe address + PCIe outbound
> -Original Message-
> From: Akihiko Odaki
> Sent: Friday, April 14, 2023 8:42 PM
> To: Ruifeng Wang ; Bruce Richardson
>
> Cc: dev@dpdk.org; Akihiko Odaki
> Subject: [PATCH 1/2] config/arm: Do not require processor information
>
> DPDK can be built even without exact processor informa
Hello Ferruh,
On Fri, Apr 14, 2023 at 5:25 PM Ferruh Yigit wrote:
>
> KNI calls `get_user_pages_remote()` API which is using `FOLL_TOUCH`
> flag, but `FOLL_TOUCH` is no more in public headers since v6.3,
> causing a build error.
>
> `FOLL_*` defines in Linux kernel first moved to another header [
On Mon, Apr 17, 2023 at 3:58 AM Mingjin Ye wrote:
>
> VRRP advertisement packets are dropped on i40e PF device because
> when a MAC address is added to a device, packets originating from
> that MAC address are dropped.
> This patch adds a PMD specific API to enable/disable source
> pruning to fix
73 matches
Mail list logo