RE: [RFC] ethdev: fast path async flow API

2024-01-04 Thread Konstantin Ananyev
> > This is a blocker, showstopper for me. > +1 > > > Have you considered having something like > >rte_flow_create_bulk() > > > > or better yet a Linux iouring style API? > > > > A ring style API would allow for better mixed operations across the board > > and > > get rid of the I-cache ov

RE: [EXT] [PATCH 2/2] app/test-crypto-perf: fix encrypt operation verify

2024-01-04 Thread Suanming Mou
Hi, > -Original Message- > From: Anoob Joseph > Sent: Thursday, January 4, 2024 1:13 PM > To: Suanming Mou ; Ciara Power > > Cc: dev@dpdk.org > Subject: RE: [EXT] [PATCH 2/2] app/test-crypto-perf: fix encrypt operation > verify > > Hi Suanming, > > Please see inline. > > Thanks, > An

[PATCH 1/2] config/arm: fix CN10K minimum march requirement

2024-01-04 Thread pbhagavatula
From: Pavan Nikhilesh Meson selects march and mcpu based on compiler support and partnumber, only the minimum required march should be defined in cross compile configuration file. Fixes: 1b4c86a721c9 ("config/arm: add Marvell CN10K") Cc: sta...@dpdk.org Signed-off-by: Pavan Nikhilesh --- conf

[PATCH 2/2] config/arm: add armv9-a march

2024-01-04 Thread pbhagavatula
From: Pavan Nikhilesh Now that major versions of GCC recognize armv9-a march option, add it to the list of supported march. Update neoverse-n2 part number to include march as armv9-a. Signed-off-by: Pavan Nikhilesh --- config/arm/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion

[PATCH v9 0/2] net/iavf: fix Rx/Tx burst and add diagnostics

2024-01-04 Thread Mingjin Ye
Fixed Rx/Tx crash in multi-process environment and added Tx diagnostic feature. Mingjin Ye (2): net/iavf: fix Rx/Tx burst in multi-process net/iavf: add diagnostic support in TX path doc/guides/nics/intel_vf.rst | 9 ++ drivers/net/iavf/iavf.h| 55 ++- drivers/net/iavf/iavf_

[PATCH v9 1/2] net/iavf: fix Rx/Tx burst in multi-process

2024-01-04 Thread Mingjin Ye
In a multi-process environment, a secondary process operates on shared memory and changes the function pointer of the primary process, resulting in a crash when the primary process cannot find the function address during an Rx/Tx burst. Fixes: 5b3124a0a6ef ("net/iavf: support no polling when link

[PATCH v9 2/2] net/iavf: add diagnostic support in TX path

2024-01-04 Thread Mingjin Ye
The only way to enable diagnostics for TX paths is to modify the application source code. Making it difficult to diagnose faults. In this patch, the devarg option "mbuf_check" is introduced and the parameters are configured to enable the corresponding diagnostics. supported cases: mbuf, size, seg

[PATCH v3] net/i40e: add diagnostic support in TX path

2024-01-04 Thread Mingjin Ye
The only way to enable diagnostics for TX paths is to modify the application source code. Making it difficult to diagnose faults. In this patch, the devarg option "mbuf_check" is introduced and the parameters are configured to enable the corresponding diagnostics. supported cases: mbuf, size, seg

Re: [PATCH] dts: improve documentation

2024-01-04 Thread Thomas Monjalon
03/01/2024 13:54, Luca Vizzarro: > Improve instructions for installing dependencies, configuring and > launching the project. Finally, document the configuration schema > by adding more comments to the example and documenting every > property and definition. Thank you for taking care of the docume

Re: [PATCH v2 02/24] net/cnxk: implementing eswitch device

2024-01-04 Thread Jerin Jacob
On Wed, Dec 20, 2023 at 12:53 AM Harman Kalra wrote: > > Eswitch device is a parent or base device behind all the representors, > acting as transport layer between representors and representees > > Signed-off-by: Harman Kalra > --- > drivers/net/cnxk/cnxk_eswitch.c | 465

Re: [PATCH v2 03/24] net/cnxk: eswitch HW resource configuration

2024-01-04 Thread Jerin Jacob
On Wed, Dec 20, 2023 at 12:58 AM Harman Kalra wrote: > > Configuring the hardware resources used by the eswitch device. > > Signed-off-by: Harman Kalra > --- > drivers/net/cnxk/cnxk_eswitch.c | 206 > 1 file changed, 206 insertions(+) > > + > static int > cnxk

Re: [PATCH v2 07/24] common/cnxk: interface to update VLAN TPID

2024-01-04 Thread Jerin Jacob
On Wed, Dec 20, 2023 at 12:53 AM Harman Kalra wrote: > > Introducing eswitch variant of set vlan tpid api which can be > using for PF and VF > > Signed-off-by: Harman Kalra > + > +int > +roc_eswitch_nix_vlan_tpid_set(struct roc_nix *roc_nix, uint32_t type, > uint16_t tpid, bool is_vf) > +{ > +

RE: [RFC] ethdev: introduce entropy calculation

2024-01-04 Thread Dumitrescu, Cristian
> -Original Message- > From: Ori Kam > Sent: Wednesday, December 27, 2023 3:20 PM > To: Andrew Rybchenko ; NBU-Contact- > Thomas Monjalon (EXTERNAL) ; Stephen Hemminger > ; Ferruh Yigit > Cc: Dumitrescu, Cristian ; Dariusz Sosnowski > ; dev@dpdk.org; Raslan Darawsheh > > Subject: RE: [

RE: [RFC] ethdev: fast path async flow API

2024-01-04 Thread Dariusz Sosnowski
> -Original Message- > From: Ivan Malov > Sent: Wednesday, January 3, 2024 19:29 > Hi Dariusz, > > I appreciate your response. All to the point. > > I have to confess my question was inspired by the 23.11 merge commit in OVS > mailing list. I first thought that an obvious consumer for th

Re: [PATCH] dts: improve documentation

2024-01-04 Thread Thomas Monjalon
04/01/2024 13:34, Luca Vizzarro: > On 04/01/2024 10:52, Thomas Monjalon wrote: > >> DTS needs to know which nodes to connect to and what hardware to use on > >> those nodes. > >> -Once that's configured, DTS needs a DPDK tarball and it's ready to run. > >> +Once that's configured, DTS needs a DP

RE: [dpdk-dev] [RFC] ethdev: support Tx queue free descriptor query

2024-01-04 Thread Dumitrescu, Cristian
> -Original Message- > From: jer...@marvell.com > Sent: Tuesday, December 19, 2023 5:30 PM > To: dev@dpdk.org; Thomas Monjalon ; Ferruh Yigit > ; Andrew Rybchenko > Cc: ferruh.yi...@xilinx.com; ajit.khapa...@broadcom.com; > abo...@pensando.io; Xing, Beilei ; Richardson, Bruce > ; ch...

Re: [dpdk-dev] [RFC] ethdev: support Tx queue free descriptor query

2024-01-04 Thread Jerin Jacob
On Thu, Jan 4, 2024 at 6:46 PM Dumitrescu, Cristian wrote: > > > > > -Original Message- > > From: jer...@marvell.com > > Sent: Tuesday, December 19, 2023 5:30 PM > > To: dev@dpdk.org; Thomas Monjalon ; Ferruh Yigit > > ; Andrew Rybchenko > > Cc: ferruh.yi...@xilinx.com; ajit.khapa...@bro

RE: [EXT] [RFC PATCH] cryptodev: add sm2 key exchange and encryption for HW

2024-01-04 Thread Gowrishankar Muthukrishnan
Hi, > This commit adds comments for the proposal of addition of SM2 algorithm key > exchange and encryption/decryption operation. > > Signed-off-by: Arkadiusz Kusztal > --- > lib/cryptodev/rte_crypto_asym.h | 16 > 1 file changed, 16 insertions(+) > > diff --git a/lib/cryptode

RE: [dpdk-dev] [RFC] ethdev: support Tx queue free descriptor query

2024-01-04 Thread Konstantin Ananyev
> > > Introduce a new API to retrieve the number of available free descriptors > > > in a Tx queue. Applications can leverage this API in the fast path to > > > inspect the Tx queue occupancy and take appropriate actions based on the > > > available free descriptors. > > > > > > A notable use cas

RE: [RFC] ethdev: introduce entropy calculation

2024-01-04 Thread Ori Kam
Hi Cristian, > -Original Message- > From: Dumitrescu, Cristian > Sent: Thursday, January 4, 2024 2:57 PM > > > >> > > > >> And unless this is specifically defined as 'entropy' in spec, I am too > > > >> for rename. > > > >> > > > >> At least in VXLAN spec, it is mentioned that this field

Re: [PATCH v9] gro: fix reordering of packets in GRO layer

2024-01-04 Thread 胡嘉瑜
在 2023/12/9 上午2:17, Kumara Parameshwaran 写道: In the current implementation when a packet is received with special TCP flag(s) set, only that packet is delivered out of order. There could be already coalesced packets in the GRO table belonging to the same flow but not delivered. This fix makes su

RE: [RFC] ethdev: fast path async flow API

2024-01-04 Thread Dariusz Sosnowski
Hi Konstantin, > -Original Message- > From: Konstantin Ananyev > Sent: Thursday, January 4, 2024 09:47 > > > This is a blocker, showstopper for me. > > +1 > > > > > Have you considered having something like > > >rte_flow_create_bulk() > > > > > > or better yet a Linux iouring style AP

[PATCH v4] [PATCH 2/2] net/tap: fix buffer overflow for ptypes list

2024-01-04 Thread Sivaramakrishnan Venkat
Incorrect ptypes list causes buffer overflow for Address Sanitizer run. Previously, the last element in the ptypes lists to be "RTE_PTYPE_UNKNOWN" for rte_eth_dev_get_supported_ptypes(), but this was not clearly documented and many PMDs did not follow this implementation. Instead, the dev_supported

[PATCH v4] [PATCH 2/2] net/tap: fix buffer overflow for ptypes list

2024-01-04 Thread Sivaramakrishnan Venkat
Incorrect ptypes list causes buffer overflow for Address Sanitizer run. Previously, the last element in the ptypes lists to be "RTE_PTYPE_UNKNOWN" for rte_eth_dev_get_supported_ptypes(), but this was not clearly documented and many PMDs did not follow this implementation. Instead, the dev_supported

[dpdk-dev v4 2/2] net/tap: fix buffer overflow for ptypes list

2024-01-04 Thread Sivaramakrishnan Venkat
[PATCH 1] - net/tap: fix buffer overflow for ptypes list through updation of last element. The first patch is for drivers for backporting [PATCH 2] - net/tap: fix buffer overflow for ptypes list through through driver API update. The second patch is for drivers API update Sivaramakrishnan Venk

[dpdk-dev v4 1/2] net/tap: fix buffer overflow for ptypes list through updation of last element.

2024-01-04 Thread Sivaramakrishnan Venkat
Incorrect ptypes list causes buffer overflow for Address Sanitizer run. The last element in the ptypes lists to be "RTE_PTYPE_UNKNOWN" for rte_eth_dev_get_supported_ptypes(). In rte_eth_dev_get_supported_ptypes(),the loop iterates until it finds "RTE_PTYPE_UNKNOWN" to detect last element of the pty

[dpdk-dev v4 2/2] net/tap: fix buffer overflow for ptypes list through driver API update

2024-01-04 Thread Sivaramakrishnan Venkat
Incorrect ptypes list causes buffer overflow for Address Sanitizer run. Previously, the last element in the ptypes lists to be "RTE_PTYPE_UNKNOWN" for rte_eth_dev_get_supported_ptypes(), but this was not clearly documented and many PMDs did not follow this implementation. Instead, the dev_supported

Re: [RFC] ethdev: introduce entropy calculation

2024-01-04 Thread Thomas Monjalon
04/01/2024 15:33, Ori Kam: > Hi Cristian, > > > From: Dumitrescu, Cristian > > Sent: Thursday, January 4, 2024 2:57 PM > > > > >> > > > > >> And unless this is specifically defined as 'entropy' in spec, I am > > > > >> too > > > > >> for rename. > > > > >> > > > > >> At least in VXLAN spec, it i

Re: [dpdk-dev] [RFC] ethdev: support Tx queue free descriptor query

2024-01-04 Thread Thomas Monjalon
04/01/2024 15:21, Konstantin Ananyev: > > > > > Introduce a new API to retrieve the number of available free descriptors > > > > in a Tx queue. Applications can leverage this API in the fast path to > > > > inspect the Tx queue occupancy and take appropriate actions based on the > > > > available

[PATCH] event/cnxk: use WFE LDP loop for getwork routine

2024-01-04 Thread pbhagavatula
From: Pavan Nikhilesh Use WFE LDP loop while polling for GETWORK completion for better power savings. Disabled by default and can be enabled by setting `RTE_ARM_USE_WFE` to `true` in `config/arm/meson.build` Signed-off-by: Pavan Nikhilesh --- doc/guides/eventdevs/cnxk.rst | 9 ++ driv

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > From: Madhuker Mythri > > When multiple queues configured, internally RSS will be enabled and thus TAP > BPF RSS byte-code will be loaded on to the Kernel using BPF system calls. > > Here, the problem is loading the existin

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > +#include > +#include > +#include > +#include > +#include > +#include > +#include "tap_rss.h" > This change in headers breaks the use of make in the bpf directory.

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > +#include > +#include > +#include > +#include The original code copied the bpf headers from distro (was bad idea). This should be fixed in tap driver to make sure that there is no mismatch.

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > -static __u32 __attribute__((always_inline)) > -rte_softrss_be(const __u32 *input_tuple, const uint8_t *rss_key, > - __u8 input_len) > +static __u64 __attribute__((always_inline)) > +rte_softrss_be(const __u32 *in

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > diff --git a/drivers/net/tap/tap_bpf_insns.h b/drivers/net/tap/tap_bpf_insns.h > index 53fa76c4e6..b3dc11b901 100644 > --- a/drivers/net/tap/tap_bpf_insns.h > +++ b/drivers/net/tap/tap_bpf_insns.h > @@ -1,10 +1,10 @@ > /* SPDX

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > - /* Get correct proto for 802.1ad */ > - if (skb->vlan_present && skb->vlan_proto == htons(ETH_P_8021AD)) { > - if (data + ETH_ALEN * 2 + sizeof(struct vlan_hdr) + > - sizeof(proto) > data_e

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > { > - void *data_end = (void *)(long)skb->data_end; > - void *data = (void *)(long)skb->data; > - __u16 proto = (__u16)skb->protocol; > +struct neth nh; > +struct net6h n6h; Sloppy non-standard indentation

Re: [PATCH] net/tap: Modified TAP BPF program as per the new Kernel-version upgrade requirements.

2024-01-04 Thread Stephen Hemminger
On Thu, 4 Jan 2024 22:57:56 +0530 madhuker.myt...@oracle.com wrote: > > > RCA: These errors started coming after from the Kernel-5.15 version, in > which lots of new BPF verification restrictions were added for safe execution > of byte-code on to the Kernel, due to wh

Re: [dpdk-dev] [RFC] ethdev: support Tx queue free descriptor query

2024-01-04 Thread Thomas Monjalon
19/12/2023 18:29, jer...@marvell.com: > --- a/doc/guides/nics/features/default.ini > +++ b/doc/guides/nics/features/default.ini > @@ -59,6 +59,7 @@ Packet type parsing = > > Timesync = > Rx descriptor status = > Tx descriptor status = > +Tx free descriptor query = I think we can d

[PATCH v2 1/2] app/test-crypto-perf: fix invalid memcmp results

2024-01-04 Thread Suanming Mou
The function memcmp() returns an integer less than, equal to, or greater than zero. In current code, if the first memcmp() returns less than zero and the second memcmp() returns greater than zero, the sum of results may still be 0 and indicates verify succussed. This commit converts the return val

[PATCH v2 2/2] app/test-crypto-perf: fix encrypt operation verify

2024-01-04 Thread Suanming Mou
AEAD uses RTE_CRYPTO_AEAD_OP_* with aead_op and CIPHER uses RTE_CRYPTO_CIPHER_OP_* with cipher_op in current code. This commit aligns aead_op and cipher_op operation to fix incorrect AEAD verification. Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") Signed-off-by: Suanmi

RE: [PATCH v8 2/2] net/iavf: add diagnostic support in TX path

2024-01-04 Thread Zhang, Qi Z
> -Original Message- > From: Mingjin Ye > Sent: Wednesday, January 3, 2024 6:11 PM > To: dev@dpdk.org > Cc: Yang, Qiming ; Ye, MingjinX > ; Su, Simei ; Wu, Wenjun1 > ; Zhang, Yuying ; Xing, > Beilei ; Wu, Jingjing > Subject: [PATCH v8 2/2] net/iavf: add diagnostic support in TX path >

RE: [PATCH v2] net/e1000: support launchtime feature

2024-01-04 Thread Zhang, Qi Z
> -Original Message- > From: Su, Simei > Sent: Thursday, January 4, 2024 11:13 AM > To: Chuanyu Xue ; Lu, Wenzhuo > ; Zhang, Qi Z ; Xing, Beilei > > Cc: dev@dpdk.org > Subject: RE: [PATCH v2] net/e1000: support launchtime feature > > > > -Original Message- > > From: Chuanyu X

[PATCH] doc: update default value for config parameter

2024-01-04 Thread Simei Su
Update documentation value to match default value in code base. Signed-off-by: Simei Su --- doc/guides/prog_guide/ip_fragment_reassembly_lib.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/prog_guide/ip_fragment_reassembly_lib.rst b/doc/guides/prog_guide/ip_fr

RE: [EXT] [PATCH v2 2/2] app/test-crypto-perf: fix encrypt operation verify

2024-01-04 Thread Anoob Joseph
> AEAD uses RTE_CRYPTO_AEAD_OP_* with aead_op and CIPHER uses > RTE_CRYPTO_CIPHER_OP_* with cipher_op in current code. > > This commit aligns aead_op and cipher_op operation to fix incorrect AEAD > verification. > > Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") > > Sig

[PATCH] net/ice: refine queue start stop

2024-01-04 Thread Qi Zhang
Not necessary to return fail when starting or stopping a queue if the queue was already at required state. Signed-off-by: Qi Zhang --- drivers/net/ice/ice_rxtx.c | 16 1 file changed, 16 insertions(+) diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index 73

[PATCH 0/3] net/ice: simplified to 3 layer Tx scheduler.

2024-01-04 Thread Qi Zhang
Remove dummy layers, code refactor, complete document. Qi Zhang (3): net/ice: hide port and TC layer in Tx sched tree net/ice: refactor tm config data struture doc: update ice document for qos doc/guides/nics/ice.rst | 19 +++ drivers/net/ice/ice_ethdev.h | 12 +- drivers/net/ice/ic

[PATCH 1/3] net/ice: hide port and TC layer in Tx sched tree

2024-01-04 Thread Qi Zhang
In currently 5 layer tree implementation, the port and tc layer is not configurable, so its not necessary to expose them to applicaiton. The patch hides the top 2 layers and represented the root of the tree at VSI layer. From application's point of view, its a 3 layer scheduler tree: Port -> Queu

[PATCH 2/3] net/ice: refactor tm config data struture

2024-01-04 Thread Qi Zhang
Simplified struct ice_tm_conf by removing per level node list. Signed-off-by: Qi Zhang --- drivers/net/ice/ice_ethdev.h | 5 +- drivers/net/ice/ice_tm.c | 210 +++ 2 files changed, 88 insertions(+), 127 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.h

[PATCH 3/3] doc: update ice document for qos

2024-01-04 Thread Qi Zhang
Add description for ice PMD's rte_tm capabilities. Signed-off-by: Qi Zhang --- doc/guides/nics/ice.rst | 19 +++ 1 file changed, 19 insertions(+) diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst index bafb3ba022..1f737a009c 100644 --- a/doc/guides/nics/ice.rst +++

[PATCH v2 0/3] net/ice: simplified to 3 layer Tx scheduler

2024-01-04 Thread Qi Zhang
Remove dummy layers, code refactor, complete document Qi Zhang (3): net/ice: hide port and TC layer in Tx sched tree net/ice: refactor tm config data structure doc: update ice document for qos v2: - fix typos. doc/guides/nics/ice.rst | 19 +++ drivers/net/ice/ice_ethdev.h | 12 +-

[PATCH v2 1/3] net/ice: hide port and TC layer in Tx sched tree

2024-01-04 Thread Qi Zhang
In currently 5 layer tree implementation, the port and tc layer is not configurable, so its not necessary to expose them to application. The patch hides the top 2 layers and represented the root of the tree at VSI layer. From application's point of view, its a 3 layer scheduler tree: Port -> Queu

[PATCH v2 2/3] net/ice: refactor tm config data structure

2024-01-04 Thread Qi Zhang
Simplified struct ice_tm_conf by removing per level node list. Signed-off-by: Qi Zhang --- drivers/net/ice/ice_ethdev.h | 5 +- drivers/net/ice/ice_tm.c | 210 +++ 2 files changed, 88 insertions(+), 127 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.h

[PATCH v2 3/3] doc: update ice document for qos

2024-01-04 Thread Qi Zhang
Add description for ice PMD's rte_tm capabilities. Signed-off-by: Qi Zhang --- doc/guides/nics/ice.rst | 19 +++ 1 file changed, 19 insertions(+) diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst index bafb3ba022..3d381a266b 100644 --- a/doc/guides/nics/ice.rst +++

RE: [PATCH] net/ice: refine queue start stop

2024-01-04 Thread Wu, Wenjun1
> -Original Message- > From: Zhang, Qi Z > Sent: Friday, January 5, 2024 9:37 PM > To: Yang, Qiming ; Wu, Wenjun1 > > Cc: dev@dpdk.org; Zhang, Qi Z > Subject: [PATCH] net/ice: refine queue start stop > > Not necessary to return fail when starting or stopping a queue if the queue > was a

[Bug 1341] ovs+dpdk ixgbe port tx failed. rte_pktmbuf_alloc failed

2024-01-04 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1341 Bug ID: 1341 Summary: ovs+dpdk ixgbe port tx failed. rte_pktmbuf_alloc failed Product: DPDK Version: 22.11 Hardware: All OS: All Status: UNCONFIRMED

[PATCH] app/test-crypto-perf: add missed resubmission fix

2024-01-04 Thread Suanming Mou
Currently, after enqueue_burst, there may be ops_unused ops left for next round enqueue. And in next round preparation, only ops_needed ops will be added. But if in the final round the left ops is less than ops_needed, there will be invalid ops between the new needed ops and previous unused ops. Th