Kernel mechanism is called a scheduler activation. The Cost and Benefits of User-Level Threads Thread operations do not have to cross protection boundary. Parameters do not need to be copied. Kernel implements a single policy or pays overhead of managing multiple policies. Applications can link in the correct thread management policy for their needs.
Performance is inherently better in user-level threads.
Kernel does not understand application behavior. Deschedule a thread holding a spin lock. Thread priority inversion. May run out of kernel threads to handle all the user threads. SAs notify user-level schedulers of changes in kernel scheduling decisions.