Kernel notifies applications of changes in scheduling. Thread system notifies kernel of its decisions that affect processor allocation. 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.