即需要加上各CPU自己的专有数据区首地址相对于__per_cpu_start的偏移量。 在这里也就是__per_cpu_offset[i],其中CPU i的专有数据区相对于 __per_cpu_start的偏移量为__per_cpu_offset[i]。 这样,就可以方便地计算专有数据区中各变量的新地址,比如对于per_cpu_runqueues, 其新地址即变成per_cpu_runqu...
2、unsigned long __per_cpu_offset[NR_CPUS]; //unicore32是单核,因此此处列出x86代码 void*__cpuinit per_cpu_init(void) {//...for_each_possible_cpu(cpu) {void*src = cpu ==0?cpu0_data : __phys_per_cpu_start; memcpy(cpu_data, src, __per_cpu_end-__per_cpu_start); __per_cp...
ahey define a four-layer allocation hierarchy of decreasing speed and locality: per-CPU, global, coalesce-to-page, and coalesce-to-VM-block. 嘿定义越来越少的速度和现场一个四层的分派阶层: 每CPU,全球性,联合对页,和联合对VM阻拦。[translate]...