- most global variables carry information which is specific to the local CPU and each CPU must have its own copy - cpu local variable must be declared in cpulocal.h between DECLARE_CPULOCAL_START and DECLARE_CPULOCAL_END markers using DECLARE_CPULOCAL macro - to access the cpu local data the provided macros must be used get_cpu_var(cpu, name) get_cpu_var_ptr(cpu, name) get_cpulocal_var(name) get_cpulocal_var_ptr(name) - using this macros makes future changes in the implementation possible - switching to ELF will make the declaration of cpu local data much simpler, e.g. CPULOCAL int blah; anywhere in the kernel source code |
||
|---|---|---|
| .. | ||
| do_abort.c | ||
| do_clear.c | ||
| do_copy.c | ||
| do_cprofile.c | ||
| do_devio.c | ||
| do_endksig.c | ||
| do_exec.c | ||
| do_exit.c | ||
| do_fork.c | ||
| do_getinfo.c | ||
| do_getksig.c | ||
| do_irqctl.c | ||
| do_kill.c | ||
| do_mcontext.c | ||
| do_memset.c | ||
| do_newmap.c | ||
| do_privctl.c | ||
| do_profbuf.c | ||
| do_runctl.c | ||
| do_safecopy.c | ||
| do_safemap.c | ||
| do_schedctl.c | ||
| do_schedule.c | ||
| do_segctl.c | ||
| do_setalarm.c | ||
| do_setgrant.c | ||
| do_sigreturn.c | ||
| do_sigsend.c | ||
| do_sprofile.c | ||
| do_statectl.c | ||
| do_stime.c | ||
| do_sysctl.c | ||
| do_times.c | ||
| do_trace.c | ||
| do_umap.c | ||
| do_update.c | ||
| do_vdevio.c | ||
| do_vmctl.c | ||
| do_vtimer.c | ||
| Makefile.inc | ||