首页 > 编程语言 > 详细

DPDK线程启动方式

时间:2019-06-14 16:26:11      阅读:337      评论:0      收藏:0      [点我收藏+]

dpdk线程

rte_eal_init执行时会在每个lcore通过pthread_create创建一个线程(eal_thread_loop)并绑定到对应的lcore上,
每个线程拥有一对管道fd用于与master线程通信。
线程创建通过read管道阻塞。
master线程调用rte_eal_remote_launch创建线程实际上是通过write管道唤醒eal_thread_loop,再执行
rte_eal_remote_launch传入的函数。

几种用户线程初始化方式

在每个slave核上创建线程

RTE_LCORE_FOREACH_SLAVE(lcore_id) {
        rte_eal_remote_launch(user_loop, param, lcore_id);
}

在除了master核的其他核上创建线程

rte_eal_mp_remote_launch(user_loop, param, SKIP_MASTER);

dpdk线程

DPDK线程启动方式

原文:https://www.cnblogs.com/zl-yang/p/11023893.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!