With modern CPUs, it is possible to have higher
CPU count thus we can have higher RTE_MAX_LCORES.
In testpmd application, the current config forwarding
cores option "--nb-cores" is hard limited to 255.

The patch fixes this constraint and also adjusts the lcore
data structure to 32-bit to align with rte lcore APIs.

Fixes: af75078fece3 ("first public release")
Cc: sta...@dpdk.org

Signed-off-by: Sivaprasad Tummala <sivaprasad.tumm...@amd.com>
---
v2:
* Fixed type mistmatch in comparison 
* Fixed incorrect format specifier
---
 app/test-pmd/config.c     | 6 +++---
 app/test-pmd/parameters.c | 4 ++--
 app/test-pmd/testpmd.h    | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index ba1007ace6..6b28c22c96 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -4785,9 +4785,9 @@ fwd_stream_on_other_lcores(uint16_t domain_id, lcoreid_t 
src_lc,
                                continue;
                        printf("Shared Rx queue group %u queue %hu can't be 
scheduled on different cores:\n",
                               share_group, share_rxq);
-                       printf("  lcore %hhu Port %hu queue %hu\n",
+                       printf("  lcore %u Port %hu queue %hu\n",
                               src_lc, src_port, src_rxq);
-                       printf("  lcore %hhu Port %hu queue %hu\n",
+                       printf("  lcore %u Port %hu queue %hu\n",
                               lc_id, fs->rx_port, fs->rx_queue);
                        printf("Please use --nb-cores=%hu to limit number of 
forwarding cores\n",
                               nb_rxq);
@@ -5159,7 +5159,7 @@ icmp_echo_config_setup(void)
        lcoreid_t lc_id;
        uint16_t  sm_id;
 
-       if ((nb_txq * nb_fwd_ports) < nb_fwd_lcores)
+       if ((lcoreid_t)(nb_txq * nb_fwd_ports) < nb_fwd_lcores)
                cur_fwd_config.nb_fwd_lcores = (lcoreid_t)
                        (nb_txq * nb_fwd_ports);
        else
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index c13f7564bf..22364e09ab 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -1071,8 +1071,8 @@ launch_args_parse(int argc, char** argv)
                        break;
                case TESTPMD_OPT_NB_CORES_NUM:
                        n = atoi(optarg);
-                       if (n > 0 && n <= nb_lcores)
-                               nb_fwd_lcores = (uint8_t) n;
+                       if (n > 0 && (lcoreid_t)n <= nb_lcores)
+                               nb_fwd_lcores = (lcoreid_t) n;
                        else
                                rte_exit(EXIT_FAILURE,
                                        "nb-cores should be > 0 and <= %d\n",
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 0afae7d771..9facd7f281 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -84,7 +84,7 @@ extern volatile uint8_t f_quit;
 /* Maximum number of pools supported per Rx queue */
 #define MAX_MEMPOOL 8
 
-typedef uint8_t  lcoreid_t;
+typedef uint32_t lcoreid_t;
 typedef uint16_t portid_t;
 typedef uint16_t queueid_t;
 typedef uint16_t streamid_t;
-- 
2.34.1

Reply via email to