DPDK的文档显示rte_eal_remote_launch
只能由主lcore调用。这是否意味着我只能在运行时使用主线程启动额外的线程?我可以将其分配给从属线程吗?
ps:还有一个问题。文件还说:
注意:此功能并非旨在提供最佳性能。它只是在另一个lcore上启动函数的一种实用方法初始化时间。
这是什么意思?还有其他更有效的方法来启动线程吗?
基于logical cores specified as part of EAL Arguments
,可以为DPDK LCORE选择单个或多个内核。DPDK API rte_eal_remote_launch有助于在特定LCORE上的DPDK上下文下使用参数启动特定函数。如果不使用API调用,线程将处于等待状态(创建并等待运行用户应用程序(。应该使用context of the master core for launching new functions
中的API在DPDK EAL上下文下运行。
我可以将其分配给从属线程吗?
[答案]也使用运行一次备用线程或工作线程other than DPDK lcore threads
- 使用rte_Service API的服务核心
- 使用rte_thread_register的非dpdk或非eal线程
请参阅DPDK文档中的样本,并解释使用rte_remote_launch