Scheduler activations: Kernel level threads provide better functionality but they make the system slow and user level threads are flexible and performance oriented, but they lack functionality. Scheduler activations are used for harnessing the properties of both user level threads and kernel level threads. In this process kernel virtual processors are assigned to each process. User level run time system is used for allocating threads to processors.
Upcall: When kernel gets information that a thread is blocked, it informs run time system of the process by activating run time system at a known starting address. This process is known as upcall. Run time system can then make the thread ready or it can start is instantly as per the requirements.
Pop Up threads: A pop up thread is a new thread which is created to handle an incoming request. They can be used in place of using a blocked thread. The advantage of using a pop up thread is that it has no registers and stack and it can be created instantly.