[2/2] examples/performance-thread: fix undef behavior
Checks
Commit Message
When the value of RTE_MAX_LCORE is small, it results in the
following compilation error.
../examples/performance-thread/l3fwd-thread/main.c:2338:34: error:
iteration 4 invokes undefined behavior
[-Werror=aggressive-loop-optimizations]
Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")
Cc: ian.betts@intel.com
Cc: stable@dpdk.org
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
examples/performance-thread/l3fwd-thread/main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
Looks good!
W dniu 16.10.2020 o 08:03, Honnappa Nagarahalli pisze:
> When the value of RTE_MAX_LCORE is small, it results in the
> following compilation error.
>
> ../examples/performance-thread/l3fwd-thread/main.c:2338:34: error:
> iteration 4 invokes undefined behavior
> [-Werror=aggressive-loop-optimizations]
>
> Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")
> Cc: ian.betts@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Tested-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Reviewed-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
> ---
> examples/performance-thread/l3fwd-thread/main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
> index 818e483d2..dc34d4893 100644
> --- a/examples/performance-thread/l3fwd-thread/main.c
> +++ b/examples/performance-thread/l3fwd-thread/main.c
> @@ -599,8 +599,8 @@ struct thread_rx_conf rx_thread[MAX_RX_THREAD];
> struct thread_tx_conf {
> struct thread_conf conf;
>
> - uint16_t tx_queue_id[RTE_MAX_LCORE];
> - struct mbuf_table tx_mbufs[RTE_MAX_LCORE];
> + uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
> + struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
>
> struct rte_ring *ring;
> struct lthread_cond **ready;
On Fri, Oct 16, 2020 at 8:04 AM Honnappa Nagarahalli
<honnappa.nagarahalli@arm.com> wrote:
>
> When the value of RTE_MAX_LCORE is small, it results in the
> following compilation error.
>
> ../examples/performance-thread/l3fwd-thread/main.c:2338:34: error:
> iteration 4 invokes undefined behavior
> [-Werror=aggressive-loop-optimizations]
Lucky to catch this incorrect array size because of a change in
RTE_MAX_LCORE :-).
>
> Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")
> Cc: ian.betts@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> examples/performance-thread/l3fwd-thread/main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
> index 818e483d2..dc34d4893 100644
> --- a/examples/performance-thread/l3fwd-thread/main.c
> +++ b/examples/performance-thread/l3fwd-thread/main.c
> @@ -599,8 +599,8 @@ struct thread_rx_conf rx_thread[MAX_RX_THREAD];
> struct thread_tx_conf {
> struct thread_conf conf;
>
> - uint16_t tx_queue_id[RTE_MAX_LCORE];
> - struct mbuf_table tx_mbufs[RTE_MAX_LCORE];
> + uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
> + struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
>
> struct rte_ring *ring;
> struct lthread_cond **ready;
> --
> 2.17.1
>
Reviewed-by: David Marchand <david.marchand@redhat.com>
@@ -599,8 +599,8 @@ struct thread_rx_conf rx_thread[MAX_RX_THREAD];
struct thread_tx_conf {
struct thread_conf conf;
- uint16_t tx_queue_id[RTE_MAX_LCORE];
- struct mbuf_table tx_mbufs[RTE_MAX_LCORE];
+ uint16_t tx_queue_id[RTE_MAX_ETHPORTS];
+ struct mbuf_table tx_mbufs[RTE_MAX_ETHPORTS];
struct rte_ring *ring;
struct lthread_cond **ready;