| CPU_SWITCHTO(9) | Kernel Developer's Manual | CPU_SWITCHTO(9) | 
cpu_switchto —
#include <sys/cpu.h>
lwp_t *
  
  cpu_switchto(lwp_t
    *oldlwp, lwp_t
    *newlwp, bool
    returning);
cpu_switchto() function saves the context of the LWP
  which is currently running on the processor, and restores the context of the
  LWP specified by newlwp.
Remarks:
cpu_switchto() does not switch address
    spaces.cpu_switchto() sets
      curlwp(9) to
      newlwp. If the architecture does non-interlocked
      adaptive mutex release, cpu_switchto() does an
      equivalent of
      membar_producer(3),
      before and after the modification of
      curlwp(9).cpu_switchto() should be called at
      IPL_SCHED. When the function returns, the caller
      should lower the priority level as soon as possible.cpu_switchto() might be called with spin mutexes
      held.The function takes the following arguments.
NULL, the context of the
      LWP currently running on this processor is not saved.NULL.cpu_switchto() function does not return until
  another LWP calls cpu_switchto(). It returns the
  oldlwp argument of the
  cpu_switchto() which is called to switch back to our
  LWP. It is either a LWP which called cpu_switchto() to
  switch to us or NULL in case the LWP was exiting.
| June 2, 2011 | NetBSD 10.0 |