eal: add rte_exit() main lcore limitation description
Checks
Commit Message
Currently, rte_eal_mp_wait_lcore() function will be called by rte_exit()
as the routine below:
rte_exit() -> rte_eal_cleanup() -> rte_service_finalize() ->
rte_eal_mp_wait_lcore()
As rte_eal_mp_wait_lcore() is announced can only be called from main lcore,
rte_exit() gets the limitation implicitly as well. Or once rte_exit() is
called from a worker core, the rte_exit() procedure will get stuck in the
rte_eal_mp_wait_lcore() function as the core status is still running.
This commit adds the limitation to rte_exit() to make things clear.
Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
---
lib/eal/include/rte_common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Wed, 14 Jul 2021 17:13:00 +0300
Suanming Mou <suanmingm@nvidia.com> wrote:
> Currently, rte_eal_mp_wait_lcore() function will be called by rte_exit()
> as the routine below:
> rte_exit() -> rte_eal_cleanup() -> rte_service_finalize() ->
> rte_eal_mp_wait_lcore()
>
> As rte_eal_mp_wait_lcore() is announced can only be called from main lcore,
> rte_exit() gets the limitation implicitly as well. Or once rte_exit() is
> called from a worker core, the rte_exit() procedure will get stuck in the
> rte_eal_mp_wait_lcore() function as the core status is still running.
>
> This commit adds the limitation to rte_exit() to make things clear.
>
> Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
This patch has had no response in almost two years.
The root cause of the problem is a the assumption in the service library.
That is a bug and should be filed against rte_service, not by having a
caveat in documentation that no one will read anyway.
@@ -857,7 +857,7 @@ rte_str_to_size(const char *str)
* Function to terminate the application immediately, printing an error
* message and returning the exit_code back to the shell.
*
- * This function never returns
+ * To be executed on the MAIN lcore only. This function never returns.
*
* @param exit_code
* The exit code to be returned by the application