在rte_eal_init中为每个slave都启动了一个线程,线程的主函数为eal_thread_loopeal_thread_loop首先默认读取消息,死循环读取。
当主核启动完成后,可以通过rte_eal_mp_remote_launch为slave设置调用的函数,也可以通过调用rte_eal_wait_lcore让每个核等待。eal_thread_loop函数中,当接收到rte_eal_mp_remote_launch发送过来的函数设置消息后,会将lcore_config[slave_id].state设置为RUNNING,当正常返回后,设置为FINISHED。
网友评论