[2/2] test/rcu: use existing lcore API
Checks
Commit Message
Prefer the existing apis rather than direct access lcore_config that is
going to disappear.
Fixes: b87089b0bb19 ("test/rcu: add API and functional tests")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
app/test/test_rcu_qsbr.c | 22 ++++++++++------------
app/test/test_rcu_qsbr_perf.c | 12 ++++--------
2 files changed, 14 insertions(+), 20 deletions(-)
Comments
On 5/15/19 9:57 AM, David Marchand wrote:
> Prefer the existing apis rather than direct access lcore_config that is
> going to disappear.
>
> Fixes: b87089b0bb19 ("test/rcu: add API and functional tests")
>
> Signed-off-by: David Marchand<david.marchand@redhat.com>
> ---
> app/test/test_rcu_qsbr.c | 22 ++++++++++------------
> app/test/test_rcu_qsbr_perf.c | 12 ++++--------
> 2 files changed, 14 insertions(+), 20 deletions(-)
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
>
> Prefer the existing apis rather than direct access lcore_config that is going to
> disappear.
>
> Fixes: b87089b0bb19 ("test/rcu: add API and functional tests")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> app/test/test_rcu_qsbr.c | 22 ++++++++++------------
> app/test/test_rcu_qsbr_perf.c | 12 ++++--------
> 2 files changed, 14 insertions(+), 20 deletions(-)
>
> diff --git a/app/test/test_rcu_qsbr.c b/app/test/test_rcu_qsbr.c index
> ed6934a..92ab0c2 100644
> --- a/app/test/test_rcu_qsbr.c
> +++ b/app/test/test_rcu_qsbr.c
> @@ -853,11 +853,10 @@
> 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 */
> for (i = 0; i < 4; 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);
> @@ -913,17 +912,16 @@
> 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++)
> - rte_eal_wait_lcore(enabled_core_ids[i]);
> + if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
> + goto error;
>
> writer_done = 1;
> - /* 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++)
> @@ -935,7 +933,7 @@
>
> error:
> writer_done = 1;
> - /* 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++)
> diff --git a/app/test/test_rcu_qsbr_perf.c b/app/test/test_rcu_qsbr_perf.c
> index 16a43f8..6b1912c 100644
> --- a/app/test/test_rcu_qsbr_perf.c
> +++ b/app/test/test_rcu_qsbr_perf.c
> @@ -473,11 +473,9 @@
>
> 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++)
> - 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);
> @@ -587,11 +585,9 @@
> 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++)
> - 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);
> --
> 1.8.3.1
Acked-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
@@ -853,11 +853,10 @@
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 */
for (i = 0; i < 4; 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);
@@ -913,17 +912,16 @@
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++)
- rte_eal_wait_lcore(enabled_core_ids[i]);
+ if (rte_eal_wait_lcore(enabled_core_ids[i]) < 0)
+ goto error;
writer_done = 1;
- /* 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++)
@@ -935,7 +933,7 @@
error:
writer_done = 1;
- /* 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++)
@@ -473,11 +473,9 @@
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++)
- 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);
@@ -587,11 +585,9 @@
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++)
- 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);