多核和亲和性

来源:互联网 发布:网络歌曲下载 编辑:程序博客网 时间:2024/05/29 16:52

1,进程绑定

#include <sched.h> 
cpu_set_t  set;
void CPU_ZERO(cpu_set_t *set);
void CPU_SET(int cpu, cpu_set_t *set);
void CPU_CLR(int cpu, cpu_set_t *set);
int CPU_ISSET(int cpu, cpu_set_t *set);

int sched_setaffinity(pid_t pid, size_t cpusetsize,cpu_set_t *mask);   
int sched_getaffinity(pid_t pid, size_t cpusetsize,cpu_set_t *mask);   


2,线程绑定

int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset);
int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, cpu_set_t *cpuset);


3,内核态

void kthread_bind (struct task_struct *k, unsigned int  cpu);
int set_cpus_allowed(struct task_struct *k, cpumask_t new_mask);


4,proc绑定

echo 0x3 /proc/irq/24/smp_affinity

cat /proc/irq/24/smp_affinity



0 0
原创粉丝点击