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);