欢迎来到 DPDK交流社区 ,有什么问题可以尽管在这里提问,您将会收到社区其他成员的回答;也可以将您的总结写在这里,为社区其他成员提供帮助。 QQ交流2群:635461501

rte_thread_set_affinity函数用法

+1 投票

请教一下这个rte_thread_set_affinity(rte_cpuset_t *cpusetp)函数的用法,这个是绑定CPU的函数

这个里面的参数怎么设置应该

rte_cpuset_t * cpusetp这个结构体里都有什么?

最好能举例子说明一下,谢谢!
最新提问 2月 18, 2016 分类:DPDK初学入门 | 用户: wanghao (250 分)

2 个回答

0 投票

typedef unsigned long int __cpu_mask;

/* Basic access functions.  */
# define __CPUELT(cpu)    ((cpu) / __NCPUBITS)
# define __CPUMASK(cpu)    ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))

/* Data structure to describe CPU mask.  */
typedef struct
{
  __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
} cpu_set_t;

里面的参数设置,跟pthread_setaffinity_np一样,查一下pthread_setaffinity_np函数用法就知道了
最新回答 2月 19, 2016 用户: oops (2,210 分)
不知大神没有研究过l2fwd_fork的程序?
有什么问题可以提一下,一起分析
我要做一个多进程的dpdk转发的程序,正好就是l2fwd_fork这个样子,所以我现在在看他的代码,他在初始化EAL的时候就用pthread_create分配了进程,并进行了绑定,后来在自己注册的自定义函数中fork了子进程,我不明白他fork了子进程之后什么也没有做,子进程时怎么绑定lcore_id的
我写了一个l2fwd_fork的流程图,我不知道自己理解的对不对,但这个貌似没有发图的功能,所以我想给您看一下
有一点我最感到疑惑,我不明白rte_eal_remote_launch这个函数的原理,我看了他的源码还是不明白,他第一个参数是自己定义的处理函数,而这个自己定义的处理函数究竟是怎么被调用的,是谁调用的,他在lcore_config这个结构中注册了,但是他是怎么被调用的,在那里调用的呢?
你可以重新回答你的问题,然后就能把图片加上了,另外你说的是rte_eal_remote_launch原理,是他只管初始化,然后发送消息给等待的进程eal_thread_loop 然后启动l2fwd_launch_one_lcore这个函数
0 投票

上传图片方法如上所述,请参考

最新回答 2月 19, 2016 用户: oops (2,210 分)
这个URL写什么?不写不让我确定
...