num_cores is of type uint8_t. This results in the following
compilation error.
test_rcu_qsbr_perf.c:649:16: error: comparison is always false
due to limited range of data type [-Werror=type-limits]
if (num_cores >= RTE_MAX_LCORE) {
^~
RTE_MAX_LCORE is set to 256 for armv8 config.
Fixes:
e6a14121f4ae ("test/rcu: remove arbitrary limit on max core count")
Cc: stable@dpdk.org
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
#define TEST_RCU_QSBR_CNT_INIT 1
uint16_t enabled_core_ids[RTE_MAX_LCORE];
#define TEST_RCU_QSBR_CNT_INIT 1
uint16_t enabled_core_ids[RTE_MAX_LCORE];
static uint32_t *keys;
#define TOTAL_ENTRY (1024 * 8)
static uint32_t *keys;
#define TOTAL_ENTRY (1024 * 8)
static int
test_rcu_qsbr_synchronize(void)
{
static int
test_rcu_qsbr_synchronize(void)
{
printf("\nTest rte_rcu_qsbr_synchronize()\n");
printf("\nTest rte_rcu_qsbr_synchronize()\n");
static int
test_rcu_qsbr_mw_mv_mqs(void)
{
static int
test_rcu_qsbr_mw_mv_mqs(void)
{
- int i, j;
- uint8_t test_cores;
+ unsigned int i, j;
+ unsigned int test_cores;
writer_done = 0;
test_cores = num_cores / 4;
writer_done = 0;
test_cores = num_cores / 4;
/* Check condition and return an error if true. */
static uint16_t enabled_core_ids[RTE_MAX_LCORE];
/* Check condition and return an error if true. */
static uint16_t enabled_core_ids[RTE_MAX_LCORE];
-static uint8_t num_cores;
+static unsigned int num_cores;
static uint32_t *keys;
#define TOTAL_ENTRY (1024 * 8)
static uint32_t *keys;
#define TOTAL_ENTRY (1024 * 8)
static int
test_rcu_qsbr_perf(void)
{
static int
test_rcu_qsbr_perf(void)
{
- int i, sz;
- int tmp_num_cores;
+ int sz;
+ unsigned int i, tmp_num_cores;
static int
test_rcu_qsbr_rperf(void)
{
static int
test_rcu_qsbr_rperf(void)
{
- int i, sz;
- int tmp_num_cores;
+ int sz;
+ unsigned int i, tmp_num_cores;
rte_atomic64_clear(&updates);
rte_atomic64_clear(&update_cycles);
rte_atomic64_clear(&updates);
rte_atomic64_clear(&update_cycles);
static int
test_rcu_qsbr_wperf(void)
{
static int
test_rcu_qsbr_wperf(void)
{
+ int sz;
+ unsigned int i;
rte_atomic64_clear(&checks);
rte_atomic64_clear(&check_cycles);
rte_atomic64_clear(&checks);
rte_atomic64_clear(&check_cycles);
test_rcu_qsbr_sw_sv_1qs(void)
{
uint64_t token, begin, cycles;
test_rcu_qsbr_sw_sv_1qs(void)
{
uint64_t token, begin, cycles;
- int i, j, tmp_num_cores, sz;
+ int sz;
+ unsigned int i, j, tmp_num_cores;
int32_t pos;
writer_done = 0;
int32_t pos;
writer_done = 0;
test_rcu_qsbr_sw_sv_1qs_non_blocking(void)
{
uint64_t token, begin, cycles;
test_rcu_qsbr_sw_sv_1qs_non_blocking(void)
{
uint64_t token, begin, cycles;
- int i, j, ret, tmp_num_cores, sz;
+ int ret, sz;
+ unsigned int i, j, tmp_num_cores;
int32_t pos;
writer_done = 0;
int32_t pos;
writer_done = 0;