The following macros can be used to retrieve the current processor, process, and light-weight process (LWP), respectively:
1.
The machine-dependent curcpu() macro returns a pointer to a cpu_info structure containing information of the CPU that this thread is running on.
2.
The machine-independent curproc() macro refers to a pointer to the process currently running on this CPU.
3.
The
curlwp() macro expands to a pointer to
lwp structure, containing information about the current LWP. This macro is machine-independent, but machine-dependent
<machine/cpu.h> may redefine it.