Como os ponteiros de percpu são implementados no kernel do Linux?

No multiprocessador, cada núcleo pode ter suas próprias variáveis. Eu pensei que eles são variáveis ​​diferentes em endereços diferentes, embora estejam no mesmo processo e tenham o mesmo nome.

Mas eu estou querendo saber, como o kernel implementa isso? Ele distribui um pedaço de memória para depositar todos os ponteiros de percpu e toda vez que ele redireciona o ponteiro para determinado endereço com deslocamento ou algo assim?

questionAnswers(1)

yourAnswerToTheQuestion