Hi Trevor,
Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS
by default, but some hw and/or virtual interface does not
support the RSS and offload mode presupposed, e.g., some
virtio interfaces in the cloud don't support
RSS and the error msg may like:
virtio_dev_configure(): RSS suppor
02.10.2023 09:53, Trevor Tao пишет:
Now the port Rx offload mode is set to RTE_ETH_RX_OFFLOAD_CHECKSUM
by default, but some hw and/or virtual interface does not support
the offload mode presupposed, e.g., some virtio interfaces in
the cloud may only partly support RTE_ETH_RX_OFFLOAD_UDP_CKSUM/
RT
wait_multi_supported = 1;
if (i.power_monitor)
monitor_supported = 1;
+
+ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_MONITORX)) { /* AMD */
+ power_monitor_ops.mmonitor = &amd_monitorx;
+ power_monitor_ops.mwait = &amd_mwaitx;
+ } else { /* Intel */
+ power_monitor_ops.mmonitor = &intel_umonitor;
+ power_monitor_ops.mwait = &intel_umwait;
+ }
}
int
Acked-by: Konstantin Ananyev
> >
> > > On Tue, Oct 17, 2023 at 04:27:37PM +0200, Olivier Matz wrote:
> > > > Unfortunatly I don't have enough time to undertake my maintainer role at
> > > > the expected level. It will probably not going to get better anytime
> > > > soon, so remove myself from maintainers.
> > > >
> > > > Sig
v_conf.rss_conf.rss_hf !=
port_conf.rx_adv_conf.rss_conf.rss_hf) {
printf("Port %u modified RSS hash function based on hardware
support,"
Acked-by: Konstantin Ananyev
13.10.2023 05:27, Trevor Tao пишет:
Now the port Rx offload mode is set to RTE_ETH_RX_OFFLOAD_CHECKSUM
by default, but some hw and/or virtual interface does not support
the offload mode presupposed, e.g., some virtio interfaces in
the cloud may only partly support RTE_ETH_RX_OFFLOAD_UDP_CKSUM/
RT
17.10.2023 21:31, Tyler Retzlaff пишет:
Replace the use of gcc builtin __atomic_xxx intrinsics with
corresponding rte_atomic_xxx optional stdatomic API
Signed-off-by: Tyler Retzlaff
---
drivers/net/mlx5/mlx5_hws_cnt.h | 2 +-
lib/ring/rte_ring_c11_pvt.h | 33 +---
rdidx; /* read index */
uint32_t wridx; /* write index */
Acked-by: Konstantin Ananyev
*fcb_opaque;/**< Free callback argument */
- uint16_t refcnt;
+ RTE_ATOMIC(uint16_t) refcnt;
};
/** Maximum number of nb_segs allowed. */
Acked-by: Konstantin Ananyev
TOMIC_RELAXED);
\
+
rte_atomic_fetch_add_explicit(&((mp)->stats[RTE_MAX_LCORE].name), \
+ (n), rte_memory_order_relaxed);
\
} while (0)
#else
#define RTE_MEMPOOL_STAT_ADD(mp, name, n) do {} while (0)
Acked-by: Konstantin Ananyev
t128_t *)&new_head,
- 1, __ATOMIC_RELEASE,
- __ATOMIC_RELAXED);
+ 1, rte_memory_order_release,
+ rte_memory_order_relaxed);
} while (success == 0);
return old_head.top;
Acked-by: Konstantin Ananyev
>
> On Tue, Oct 24, 2023 at 09:43:13AM +0100, Konstantin Ananyev wrote:
> > 17.10.2023 21:31, Tyler Retzlaff пишет:
> > >Replace the use of gcc builtin __atomic_xxx intrinsics with
> > >corresponding rte_atomic_xxx optional stdatomic API
> >
12/10/2022 14:38, Feifei Wang пишет:
-邮件原件-
发件人: Konstantin Ananyev
发送时间: Wednesday, October 12, 2022 6:21 AM
收件人: Feifei Wang ; tho...@monjalon.net;
Ferruh Yigit ; Andrew Rybchenko
; Ray Kinsella
抄送: dev@dpdk.org; nd ; Honnappa Nagarahalli
; Ruifeng Wang
主题: Re: 回复: [PATCH v2 1/3
Members Attending
--
-Aaron
-Bruce
-Konstantin (chair)
-Kevin
-Maxime
-Stephen
-Thomas
NOTE: The technical board meetings are on every second Wednesday at
https://meet.jit.si/DPDK at 3 pm UTC. Meetings are public, and DPDK
community members are welcome to attend.
NOTE: Nex
25/10/2022 16:24, Ferruh Yigit пишет:
On 10/25/2022 3:37 PM, David Marchand wrote:
Hello,
The flow_classify library has been out and marked experimental for a
long time.
Its current maintainer is now leaving the community.
The library did not get much traction: I am not aware of an opensourc
>
> This library has no maintainer and, for now, nobody expressed interest
> in taking over.
> Mark this experimental library as deprecated and announce plan for
> removal in v23.11.
>
> Signed-off-by: David Marchand
> ---
Acked-by: Konstantin Ananyev
> --
> 2.37.3
>
> As the queue pair used in secondary process needs to be set up by
> the primary process, this patch adds an IPC register function to help
> secondary process to send out queue-pair setup request to primary
> process via IPC request messages. A new "qp_in_used_pid" param stores
> the PID to
Hi Feifei,
Add API for enabling direct rearm mode and for mapping RX and TX
queues. Currently, the API supports 1:1(txq : rxq) mapping.
Furthermore, to avoid Rx load Tx data directly, add API called
'rte_eth_txq_data_get' to get Tx sw_ring and its information.
Suggested-by: Honnappa Nagara
mp;& ofs != first_len; i--) {
/* previous fragment found. */
- if(fp->frags[i].ofs + fp->frags[i].len == ofs) {
+ if (fp->frags[i].ofs + fp->frags[i].len == ofs) {
RTE_ASSERT(curr_idx != i);
Acked-by: Konstantin Ananyev
function, so I think we can skip 'rte_' prefix
for it.
Apart from that:
Acked-by: Konstantin Ananyev
+{
+ struct rte_ring_list *ring_list;
+ struct rte_tailq_entry *te;
+
+ ring_list = RTE_TAILQ_CAST(rte_ring_tailq.head, rte_ring_list);
+ rte_mcfg_tailq_read_lo
This patch supports dump of the info of ring by its name.
An example using this command is shown below:
--> /ring/info,MP_mb_pool_0
{
"/ring/info": {
"name": "MP_mb_pool_0",
"socket": 0,
"flags": 0,
"producer_type": "MP",
"consumer_type": "MC",
"size": 262144,
Hi Morten,
Few nits, see below.
Also I still think we do need a test case for _zc_get_ before
accepting it in the mainline.
With that in place:
Acked-by: Konstantin Ananyev
Zero-copy access to mempool caches is beneficial for PMD performance, and
must be provided by the mempool library to fix
> > Few nits, see below.
> > Also I still think we do need a test case for _zc_get_ before
> > accepting it in the mainline.
>
> Poking at my bad conscience... :-)
>
> It's on my todo-list. Apparently not high enough. ;-)
>
> > With tha
> > > > > @@ -1364,32 +1556,25 @@ rte_mempool_do_generic_put(struct
> > rte_mempool
> > > > *mp, void * const *obj_table,
> > > > > {
> > > > > void **cache_objs;
> > > > >
> > > > > - /* No cache provided */
> > > > > - if (unlikely(cache == NULL))
> > > > > - goto dr
Hi Feifei,
+ping konstantin,
Would you please give some comments for this patch series?
Thanks very much.
Sure, will have a look in next few days.
Apologies for the delay.
31/01/2023 02:28, Jie Hai пишет:
This patch supports dump of the info of ring by its name.
An example using this command is shown below:
--> /ring/info,MP_mb_pool_0
{
"/ring/info": {
"name": "MP_mb_pool_0",
"socket": 0,
"flags": 0,
"producer_type": "MP",
"consumer_typ
Hi Feifei,
Add 'tx_fill_sw_ring' and 'rx_flush_descriptor' API into direct rearm
mode for separate Rx and Tx Operation. And this can support different
multiple sources in direct rearm mode. For examples, Rx driver is ixgbe,
and Tx driver is i40e.
Thanks for your effort and thanks for taking c
04/01/2023 07:30, Feifei Wang пишет:
Add internal API to separate direct rearm operations between
Rx and Tx.
Suggested-by: Honnappa Nagarahalli
Signed-off-by: Feifei Wang
Reviewed-by: Ruifeng Wang
Reviewed-by: Honnappa Nagarahalli
---
drivers/net/i40e/i40e_ethdev.c | 1 +
driver
It is not really clear to me what is the actual problem
and what are you trying to fix here...
When using a large number of ACL rules, the trie is supposed to split when
there are over 2048 nodes.
What do you mean by 'there'?
As I remember, it decided to split set of rules, when trie start
>
> Konstantin Ananyev, Jan 04, 2023 at 11:53:
> > Probably we can even print warning or so if some-one tries to overwrite
> > it once again.
>
> I'm not sure that is necessary. If an application wants to reset the
> callback to NULL at any point in time,
> -Original Message-
> From: Robin Jarry
> Sent: Monday, February 6, 2023 8:29 PM
> To: Konstantin Ananyev ; dev@dpdk.org
> Cc: Tyler Retzlaff ; Kevin Laatz
> ; Morten Brørup
>
> Subject: Re: [PATCH v5 2/4] eal: allow applications to report their cpu usage
>
> Konstantin Ananyev, Feb 06, 2023 at 21:34:
> > Yes, app knows what resources it wants to free.
> > But it has no way to know *when* it is safe to free them.
> > Just a bit more explanation:
> > App invokes your function which resets global value of CB.
> > Ho
> >
> > Define specific function implementation for i40e driver.
> > Currently, mbufs recycle mode can support 128bit vector path and avx2 path.
> > And can be enabled both in fast free and no fast free mode.
> >
> > Suggested-by: Honnappa Nagarahalli
> > Signed-off-by: Feifei Wang
> > Reviewe
31/08/2023 18:24, Konstantin Ananyev пишет:
Define specific function implementation for i40e driver.
Currently, mbufs recycle mode can support 128bit vector path and avx2 path.
And can be enabled both in fast free and no fast free mode.
Suggested-by: Honnappa Nagarahalli
Signed-off-by
> > > >
> > > > Define specific function implementation for i40e driver.
> > > > Currently, mbufs recycle mode can support 128bit vector path and avx2
> > path.
> > > > And can be enabled both in fast free and no fast free mode.
> > > >
> > > > Suggested-by: Honnappa Nagarahalli
> > > > Signed-
Hi Feifei,
> > > > > > Define specific function implementation for i40e driver.
> > > > > > Currently, mbufs recycle mode can support 128bit vector path and
> > > > > > avx2
> > > > path.
> > > > > > And can be enabled both in fast free and no fast free mode.
> > > > > >
> > > > > > Suggested-by
> Add a single thread safe and multi-thread unsafe ring data structure.
> This library provides an simple and efficient alternative to multi-thread
> safe ring when multi-thread safety is not required.
Just a thought: do we really need whole new library for that?
>From what I understand all we
> > > > > > > > Define specific function implementation for i40e driver.
> > > > > > > > Currently, mbufs recycle mode can support 128bit vector path
> > > > > > > > and
> > > > > > > > avx2
> > > > > > path.
> > > > > > > > And can be enabled both in fast free and no fast free mode.
> > > > > >
> > > Add a single thread safe and multi-thread unsafe ring data structure.
> > > This library provides an simple and efficient alternative to
> > > multi-thread safe ring when multi-thread safety is not required.
> >
> > Just a thought: do we really need whole new library for that?
> > From wha
06/09/2023 21:02, Mattias Rönnblom пишет:
On 2023-09-06 19:20, Stephen Hemminger wrote:
Move the random number state into thread local storage.
Me and Morten discussed TLS versus other alternatives in some other
thread. The downside of TLS that Morten pointed out, from what I recall,
is that
09/09/2023 07:45, Mattias Rönnblom пишет:
On 2023-09-09 02:13, Konstantin Ananyev wrote:
06/09/2023 21:02, Mattias Rönnblom пишет:
On 2023-09-06 19:20, Stephen Hemminger wrote:
Move the random number state into thread local storage.
Me and Morten discussed TLS versus other alternatives in
t/socket.c| 23 ++-
lib/vhost/vduse.c | 5 +-
lib/vhost/vhost.c | 1 +
81 files changed, 466 insertions(+), 632 deletions(-)
Series-acked-by: Konstantin Ananyev
Minutes of Technical Board Meeting, 2023-Spetember-06
Members Attending
-
-Aaron
-Bruce
-Hemant
-Jerin
-Kevin
-Konstantin (Chair)
-Maxime
-Stephen
-Thomas
NOTE: The technical board meetings every second Wednesday at
https://meet.jit.si/DPDK at 3 pm UTC.
Meetings are public,
_rx_unload;
@@ -14,10 +16,3 @@ DPDK_24 {
local: *;
};
-
-EXPERIMENTAL {
- global:
-
- rte_bpf_convert;
- rte_bpf_dump;
-};
--
Acked-by: Konstantin Ananyev
2.39.2
local: *;
-};
-
-EXPERIMENTAL {
- global:
-
- # added in 21.11
rte_ipsec_telemetry_sa_add;
rte_ipsec_telemetry_sa_del;
+ local: *;
};
--
Acked-by: Konstantin Ananyev
2.39.2
;
rte_ipv4_fragment_packet;
rte_ipv6_frag_reassemble_packet;
rte_ipv6_fragment_packet;
local: *;
};
-
-EXPERIMENTAL {
- global:
-
- rte_ip_frag_table_del_expired_entries;
- rte_ipv4_fragment_copy_nonseg_packet;
-};
--
Acked-by: Konstantin Ananyev
2.39.2
03/09/2023 05:01, Trevor Tao пишет:
Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS, and offload
mode set to RTE_ETH_RX_OFFLOAD_CHECKSUM by default, but some hardware
and/or virtual interface does not support the RSS and offload mode
presupposed, e.g., some virtio interfaces in the clou
Hi Trevor,
At 2023-09-18 02:04:19, "Konstantin Ananyev"
wrote:
03/09/2023 05:01, Trevor Tao пишет:
Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS, and offload
mode set to RTE_ETH_RX_OFFLOAD_CHECKSUM by default, but some hardware
and/or virtual interface does not s
Hi Feifei,
> > > -Original Message-
> > > From: Feifei Wang
> > > Sent: Tuesday, September 5, 2023 11:11 AM
> > > To: Konstantin Ananyev ; Konstantin
> > > Ananyev
> > > Cc: dev@dpdk.org; nd ; Honnappa Nagarahalli
> > > ;
Define specific function implementation for i40e driver.
Currently, mbufs recycle mode can support 128bit
vector path and
avx2
path.
And can be enabled both in fast free and no fast free
mode.
Suggested-by: Honnappa Nagarahalli
Signed-off-by: Feifei Wang
Reviewed-by: Ruifeng Wang
Review
> On 9/25/2023 4:19 AM, Feifei Wang wrote:
> > Define specific function implementation for i40e driver.
> > Currently, mbufs recycle mode can support 128bit
> > vector path and avx2 path. And can be enabled both in
> > fast free and no fast free mode.
> >
> > Suggested-by: Honnappa Nagarahalli
>
: Feifei Wang
Reviewed-by: Ruifeng Wang
---
Acked-by: Konstantin Ananyev
: Ruifeng Wang
Reviewed-by: Honnappa Nagarahalli
---
Acked-by: Konstantin Ananyev
Reviewed-by: Ruifeng Wang
Reviewed-by: Honnappa Nagarahalli
---
Acked-by: Konstantin Ananyev
Hi Trevor,
At 2023-09-18 02:04:19, "Konstantin Ananyev"
wrote:
03/09/2023 05:01, Trevor Tao пишет:
Now the port Rx mq_mode had been set to RTE_ETH_MQ_RX_RSS, and offload
mode set to RTE_ETH_RX_OFFLOAD_CHECKSUM by default, but some hardware
and/or virtual interface does not s
ote:
> > >> On 8/23/2023 5:03 PM, Tyler Retzlaff wrote:
> > >>> On Wed, Aug 23, 2023 at 10:19:39AM +0100, Ferruh Yigit wrote:
> > >>>> On 8/22/2023 11:30 PM, Konstantin Ananyev wrote:
> > >>>>> 18/08/2023 14:48, Bruce Richardson пише
-bit AVX512 classify method")
Fixes: 45da22e42ec3 ("acl: add 512-bit AVX512 classify method")
Cc: sta...@dpdk.org
Reported-by: Ali Alnubani
Signed-off-by: Konstantin Ananyev
---
lib/acl/acl_run_avx512_common.h | 24
1 file changed, 24 insertions(+)
diff
AVX512 classify method")
Fixes: 45da22e42ec3 ("acl: add 512-bit AVX512 classify method")
Cc: sta...@dpdk.org
Reported-by: Ali Alnubani
Signed-off-by: Konstantin Ananyev
---
v2: update commit log
---
lib/acl/acl_run_avx512_common.h | 24
1 file changed, 24 i
ned-off-by: Konstantin Ananyev
---
examples/ipsec-secgw/ipsec-secgw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/ipsec-secgw/ipsec-secgw.c
b/examples/ipsec-secgw/ipsec-secgw.c
index a9f9b5859..f252d3498 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/i
> Application is accepting routes for port ID up to UINT8_MAX
> for LPM amd EM routes on parsing the given rule file, but only
> up to 32 ports can be enabled as per the variable enabled_port_mask
> which is defined as uint32_t.
>
> This patch restricts the rules parsing code to accept routes f
> An application provides cache stashing hints to the ethernet devices to
> improve memory access latencies from the CPU and the NIC. This patch
> introduces three distinct hints for this purpose.
>
> The RTE_ETH_DEV_STASH_HINT_HOST_WILLNEED hint indicates that the host
> (CPU) requires the data
> > > Application is accepting routes for port ID up to UINT8_MAX for LPM
> > > amd EM routes on parsing the given rule file, but only up to 32 ports
> > > can be enabled as per the variable enabled_port_mask which is defined
> > > as uint32_t.
> > >
> > > This patch restricts the rules parsing
o overcome that, simply replace XOR with itself to explicit
mov32 r0, #0x0
Signed-off-by: Konstantin Ananyev
---
lib/bpf/bpf_convert.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/bpf/bpf_convert.c b/lib/bpf/bpf_convert.c
index d7ff2b4325..eceaa19c76 100644
--- a
ing obvious here.
Subject: [PATCH 2/2] test/bpf: call linux verifier for converted cBPF filter
To ensure DPDK/kernel compatibility for converted cBPF filters, etc.
Signed-off-by: Konstantin Ananyev
---
app/test/meson.build | 1 +
app/test/test_bpf.c
> Vladimir Medvedkin, Jul 18, 2024 at 23:25:
> > I think alignment should be 1 since in FIB6 users usually don't copy IPv6
> > address and just provide a pointer to the memory inside the packet. Current
> > vector implementation loads IPv6 addresses using unaligned access (
> > _mm512_loadu_si512
`
> +- ``rte_rib6_lookup_exact()``
> +- ``rte_rib6_get_nxt()``
> +- ``rte_rib6_insert()``
> +- ``rte_rib6_remove()``
> +- ``rte_rib6_get_ip()``
> + table
> +- ``struct rte_table_lpm_ipv6_key``
> --
Acked-by: Konstantin Ananyev
> 2.45.2
>
Hi,
> In case of event mode operations where event device can help in atomic
> sequence number increment across cores, sequence number need to be
> provided by the application instead of being updated in rte_ipsec or the
> PMD. To support this, a new flag ``RTE_IPSEC_SAFLAG_SQN_ASSIGN_DISABLE``
> > > > > > Application is accepting routes for port ID up to UINT8_MAX for
> > > > > > LPM amd EM routes on parsing the given rule file, but only up to
> > > > > > 32 ports can be enabled as per the variable enabled_port_mask
> > > > > > which is defined as uint32_t.
> > > > > >
> > > > > > This p
> > > > > > > Application is accepting routes for port ID up to UINT8_MAX for
> > > > > > > LPM amd EM routes on parsing the given rule file, but only up to
> > > > > > > 32 ports can be enabled as per the variable enabled_port_mask
> > > > > > > which is defined as uint32_t.
> > > > > > >
> > >
> > > In case of event mode operations where event device can help in atomic
> > > sequence number increment across cores, sequence number need to be
> > > provided by the application instead of being updated in rte_ipsec or
> > > the PMD. To support this, a new flag
> > > ``RTE_IPSEC_SAFLAG_SQN_
> > > > > In case of event mode operations where event device can help in
> > > > > atomic sequence number increment across cores, sequence number
> > > > > need to be provided by the application instead of being updated in
> > > > > rte_ipsec or the PMD. To support this, a new flag
> > > > > ``
From: Konstantin Ananyev
ASAN report:
ERROR: AddressSanitizer: unknown-crash on address 0x7ef92e32 at pc
0x0053d1e9 bp 0x7ef92c00 sp 0x7ef92bf8
READ of size 16 at 0x7ef92e32 thread T0
#0 0x53d1e8 in _mm_loadu_si128
/usr/lib64/gcc/x86_64-suse-linux/11/include/emmintrin.h
; * pipeline: The pipeline library legacy API (functions rte_pipeline_*)
>will be deprecated and subsequently removed in DPDK 24.11 release.
>Before this, the new pipeline library API (functions rte_swx_pipeline_*)
> --
Acked-by: Konstantin Ananyev
> 2.25.1
From: Konstantin Ananyev
As Song Jiale pointed outprevious fix is not enough to fix
the problem he is observing with l3fwd in ACl mode:
https://bugs.dpdk.org/show_bug.cgi?id=1502
This is a second attempt to fix it.
Konstantin Ananyev (2):
examples/l3fwd: fix read beyond array bondaries
From: Konstantin Ananyev
ASAN report:
ERROR: AddressSanitizer: unknown-crash on address 0x7ef92e32 at pc
0x0053d1e9 bp 0x7ef92c00 sp 0x7ef92bf8
READ of size 16 at 0x7ef92e32 thread T0
#0 0x53d1e8 in _mm_loadu_si128
/usr/lib64/gcc/x86_64-suse-linux/11/include/emmintrin.h
From: Konstantin Ananyev
With commit: ACL mode now can use send_packets_multi().
What I missed with that changes: send_packets_multi() can't deal
properly with input dst_port[i] == BAD_PORT (though it can set
it itself), as it uses dst_port[i] values to read L2 addresses for the port
and as
) The final approval process requires GB approval.
2) As the next GB representative from TB, Konstantin Ananyev presented
this information to GB.
3) GB to vote over email and come back with final approval.
llows
> producing a graphical representation of the DPDK dependency tree if so
> desired. For example: "dot -Tpng -O build/deps.dot" to produce the
> image file "build/deps.dot.png".
>
> Signed-off-by: Bruce Richardson
I think it is a great idea.
Acked-by: Kon
From: Konstantin Ananyev
As Song Jiale pointed outprevious fix is not enough to fix
the problem he is observing with l3fwd in ACl mode:
https://bugs.dpdk.org/show_bug.cgi?id=1502
This is a second attempt to fix it.
Konstantin Ananyev (2):
examples/l3fwd: fix read beyond array bondaries
From: Konstantin Ananyev
Konstantin Ananyev (6):
ring: common functions for 'move head' ops
ring: make copying functions generic
ring/soring: introduce Staged Ordered Ring
app/test: add unit tests for soring API
examples/l3fwd: make ACL work in pipeline and eventdev mo
From: Konstantin Ananyev
Note upfront: that change doesn't introduce any functional or
performance changes.
It is just a code-reordering for:
- code deduplication
- ability in future to re-use the same code to introduce new functionality
For each sync mode corresponding move_prod_head(
From: Konstantin Ananyev
Note upfront: that change doesn't introduce any functional
or performance changes.
It is just a code-reordering for:
- improve code modularity and re-usability
- ability in future to re-use the same code to introduce new functionality
There is no real nee
From: Konstantin Ananyev
Staged-Ordered-Ring (SORING) provides a SW abstraction for 'ordered' queues
with multiple processing 'stages'.
It is based on conventional DPDK rte_ring, re-uses many of its concepts,
and even substantial part of its code.
It can be viewed as an
From: Konstantin Ananyev
Add both functional and stess test-cases for soring API.
Stress test serves as both functional and performance test of soring
enqueue/dequeue/acquire/release operations under high contention
(for both over committed and non-over committed scenarios).
Signed-off-by
From: Konstantin Ananyev
Note upfront:
This is a huge commit that is combined from several ones.
For now, I submit it just for reference and demonstration purposes and
will probably remove it in future versions.
If will decide to go ahead with it, then it needs to be reworked and split
into
From: Konstantin Ananyev
Note upfront: this change shouldn't affect rte_ring public API.
Though as layout of public structures have changed - it is an ABI
breakage.
This is an attempt to implement rte_ring optimization
that was suggested by Morten and discussed on this mailing
list a whil
Sorry, that's a dup, sent by mistake this time.
Please disregard.
Konstantin
> -Original Message-
> From: Konstantin Ananyev
> Sent: Thursday, August 15, 2024 9:53 AM
> To: dev@dpdk.org
> Cc: honnappa.nagaraha...@arm.com; jer...@marvell.com; hemant.agra...@nxp.c
> > From: Konstantin Ananyev
> >
> > Staged-Ordered-Ring (SORING) provides a SW abstraction for 'ordered' queues
> > with multiple processing 'stages'.
> > It is based on conventional DPDK rte_ring, re-uses many of its concepts,
> > and
> > >
> > >> diff --git a/app/test-pmd/macswap_sse.h b/app/test-pmd/macswap_sse.h
> > >> index 223f87a539..29088843b7 100644
> > >> --- a/app/test-pmd/macswap_sse.h
> > >> +++ b/app/test-pmd/macswap_sse.h
> > >> @@ -16,13 +16,13 @@ do_macswap(struct rte_mbuf *pkts[], uint16_t nb,
> > >>u
> > Staged-Ordered-Ring (SORING) provides a SW abstraction for 'ordered' queues
> > with multiple processing 'stages'.
> > It is based on conventional DPDK rte_ring, re-uses many of its concepts,
> > and even substantial part of its code.
> > It can be viewed as an 'extension' of rte_ring functio
[konstantin.v.anan...@yandex.ru appears similar to someone who
previously sent you email, but may not be that person. Learn why this
could be a risk at https://aka.ms/LearnAboutSenderIdentification.]
16/05/2022 07:10, Feifei Wang пишет:
Currently, the transmit side frees the buffers in
Some NIC drivers support DEV_TX_OFFLOAD_MBUF_FAST_FREE offload(
Device supports optimization for fast release of mbufs.When set
application must guarantee that per-queue all mbufs comes from the
same mempool and has refcnt = 1).In order to adapt to this offload
function,we need to modify the ex
04/06/2022 03:19, Huichao Cai пишет:
I've seen some applications that have to rewrite fragment
functions themselves in order to use MBUF_FAST_FREE
features, such as iQiYi's DPVS.
I am not sure that it will really help to improve performance,
as if you have a lot of packets to fragment, you'l
04/06/2022 13:51, Andrew Rybchenko пишет:
On 6/4/22 15:19, Morten Brørup wrote:
From: Jerin Jacob [mailto:jerinjac...@gmail.com]
Sent: Saturday, 4 June 2022 13.10
On Sat, Jun 4, 2022 at 3:30 PM Andrew Rybchenko
wrote:
On 6/4/22 12:33, Jerin Jacob wrote:
On Sat, Jun 4, 2022 at 2:39 PM Morten
31/05/2022 18:14, Honnappa Nagarahalli пишет:
25/05/2022 01:24, Honnappa Nagarahalli пишет:
From: Konstantin Ananyev
20/04/2022 09:16, Feifei Wang пишет:
Enable direct rearm mode. The mapping is decided in the data plane
based on the first packet received.
Suggested-by: Honnappa
07/06/2022 18:17, Stephen Hemminger пишет:
The function rte_memcpy can derference past source buffer which
will cause array out of bounds warnings. But there is no good reason
to use rte_memcpy instead of memcpy in this code. Memcpy is just
as fast for these small inputs, and compiler will optimi
09/06/2022 14:58, Tyler Retzlaff пишет:
Add rte_thread_equal() that tests if two rte_thread_id are equal.
Signed-off-by: Narcisa Vasile
Signed-off-by: Tyler Retzlaff
---
lib/eal/common/rte_thread.c | 6 ++
lib/eal/include/rte_thread.h | 19 +++
lib/eal/version.map
MENT_MASK))
return rte_memcpy_aligned(dst, src, n);
else
return rte_memcpy_generic(dst, src, n);
}
-#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 10)
-#pragma GCC diagnostic pop
-#endif
-
#ifdef __cplusplus
}
#endif
Acked-by: Konstantin Ananyev
Add rte_thread_equal() that tests if two rte_thread_id are equal.
Signed-off-by: Narcisa Vasile
Signed-off-by: Tyler Retzlaff
---
lib/eal/common/rte_thread.c | 6 ++
lib/eal/include/rte_thread.h | 19 +++
lib/eal/version.map | 1 +
3 files changed, 26 ins
/windows/rte_thread.c
@@ -291,6 +291,12 @@ struct thread_routine_ctx {
return 0;
}
+int
+rte_thread_equal(rte_thread_t t1, rte_thread_t t2)
+{
+ return t1.opaque_id == t2.opaque_id;
+}
+
rte_thread_t
rte_thread_self(void)
{
Acked-by: Konstantin Ananyev
1 - 100 of 1590 matches
Mail list logo