>From: Dawei Li <daweilics@gmail.com>
>When/how is the schedule() function actually called?
I vaguely recall the actual switch taking place at the end of an interrupt,
and/or during the return from a syscall, or on explicit request (e.g. yield).
Look at __schedule and context_switch functions.