uint32_t i = 0;
uint16_t core_id;
uint32_t max_cores = rte_lcore_count();
- for (core_id = 0; core_id < RTE_MAX_LCORE && i < max_cores; core_id++) {
- if (rte_lcore_is_enabled(core_id)) {
- enabled_core_ids[i] = core_id;
- i++;
- }
+ RTE_LCORE_FOREACH(core_id) {
+ enabled_core_ids[i] = core_id;
+ i++;
}
if (i != max_cores) {
enabled_core_ids[i]);
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
if (ret < 0)
goto err;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
if (ret < 0)
goto err;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
}
for (n = 0; n < NUM_TEST; n++) {
unsigned int tot_lcore = rte_lcore_count();
- if (tot_lcore < rwc_core_cnt[n])
+ if (tot_lcore < rwc_core_cnt[n] + 1)
goto finish;
printf("\nNumber of readers: %u\n", rwc_core_cnt[n]);
if (ret < 0)
goto err;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
if (ret < 0)
goto err;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
for (i = rwc_core_cnt[n] + 1;
i <= rwc_core_cnt[m] + rwc_core_cnt[n];
i++)
- rte_eal_wait_lcore(i);
+ rte_eal_wait_lcore(enabled_core_ids[i]);
writer_done = 1;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
writer_done = 1;
for (i = 1; i <= rwc_core_cnt[n]; i++)
- if (rte_eal_wait_lcore(i) < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto err;
unsigned long long cycles_per_lookup =
int htm;
int use_jhash = 0;
int ext_bkt = 0;
- if (rte_lcore_count() == 1) {
- printf("More than one lcore is required "
- "to do read write lock-free concurrency test\n");
- return -1;
+
+ if (rte_lcore_count() < 2) {
+ printf("Not enough cores for hash_readwrite_lf_autotest, expecting at least 2\n");
+ return TEST_SKIPPED;
}
setlocale(LC_NUMERIC, "");