Prefer the existing apis rather than direct access lcore_config that is
going to disappear.
Fixes:
b87089b0bb19 ("test/rcu: add API and functional tests")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
hash_data[0][6] = NULL;
writer_done = 1;
hash_data[0][6] = NULL;
writer_done = 1;
- /* Wait until all readers have exited */
- rte_eal_mp_wait_lcore();
- /* Check return value from threads */
+
+ /* Wait and check return value from reader threads */
- if (lcore_config[enabled_core_ids[i]].ret < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto error;
rte_hash_free(h[0]);
rte_free(keys);
goto error;
rte_hash_free(h[0]);
rte_free(keys);
rte_eal_remote_launch(test_rcu_qsbr_writer,
(void *)(uintptr_t)(i - (test_cores / 2)),
enabled_core_ids[i]);
rte_eal_remote_launch(test_rcu_qsbr_writer,
(void *)(uintptr_t)(i - (test_cores / 2)),
enabled_core_ids[i]);
- /* Wait for writers to complete */
+ /* Wait and check return value from writer threads */
for (i = test_cores / 2; i < test_cores; i++)
for (i = test_cores / 2; i < test_cores; i++)
- rte_eal_wait_lcore(enabled_core_ids[i]);
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
+ goto error;
- /* Wait for readers to complete */
- rte_eal_mp_wait_lcore();
- /* Check return value from threads */
- for (i = 0; i < test_cores; i++)
- if (lcore_config[enabled_core_ids[i]].ret < 0)
+ /* Wait and check return value from reader threads */
+ for (i = 0; i < test_cores / 2; i++)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto error;
for (i = 0; i < num_cores / 4; i++)
goto error;
for (i = 0; i < num_cores / 4; i++)
- /* Wait until all readers have exited */
+ /* Wait until all readers and writers have exited */
rte_eal_mp_wait_lcore();
for (i = 0; i < num_cores / 4; i++)
rte_eal_mp_wait_lcore();
for (i = 0; i < num_cores / 4; i++)
- /* Wait until all readers have exited */
- rte_eal_mp_wait_lcore();
- /* Check return value from threads */
+ /* Wait and check return value from reader threads */
for (i = 0; i < num_cores; i++)
for (i = 0; i < num_cores; i++)
- if (lcore_config[enabled_core_ids[i]].ret < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto error;
rte_hash_free(h[0]);
rte_free(keys);
goto error;
rte_hash_free(h[0]);
rte_free(keys);
rte_atomic64_add(&checks, i);
writer_done = 1;
rte_atomic64_add(&checks, i);
writer_done = 1;
- /* Wait until all readers have exited */
- rte_eal_mp_wait_lcore();
- /* Check return value from threads */
+ /* Wait and check return value from reader threads */
for (i = 0; i < num_cores; i++)
for (i = 0; i < num_cores; i++)
- if (lcore_config[enabled_core_ids[i]].ret < 0)
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
goto error;
rte_hash_free(h[0]);
rte_free(keys);
goto error;
rte_hash_free(h[0]);
rte_free(keys);