CPU変数は、DEFINE_PER_CPUマクロで、通常静的変数のセクションと異なる.data..percpuセクションに設定されます。__per_cpu_offset[]にCPU変数セクションの.data..percpuからのCPUに掛かる参照オフセットが設定され、CPU毎の変数は、CPU変数アドレス+__per_cpu_offset[CPU ID]のアドレスをCPUの変数となります。 サンプルは、カレントCPUのbabakaka1をインクリメントし、CPU IDの0/1でのCPU変数を検証するもので、カーネルマクロによるものと、そのマクロに元ずく実装によるものです。 #include <linux/kmod.h> static DEFINE_PER_CPU(int, babakaka1) = 1; static DEFINE_PER_CPU(int, babakaka2) = 1; s

