1. 作用
2.6内核上一个新的特性就是per-CPU变量。顾名思义,就是每个处理器上有此变量的一个副本。
当创建一个per-cpu变量时,系统中的每一个处理器都会拥有该变量的独有副本。由于每个处理器都是在自己的副本上工作,所以对per-cpu变量的访问几乎不需要加锁。
cpu拥有是不是cache啊?
percpu变量,就是一个变量,CPU可以很快的访问,安全的访问它。
2. 接口
2.1 声明变量
static DEFINE_PER_CPU(struct runqueue, runqueues);
声明一个runqueue结构的变量runqueues。
2.2 访问变量
下列宏来访问特定CPU上的per-CPU变量:
per_cpu(my_percpu, cpu_id);