Hi Billie,

Thanks for getting back to me!
Many sources mentioned the same thing, but where do I find the code that supports this?

I followed the comment here:
https://github.com/torvalds/linux/blob/c527f5606aa545233a4d2c6d5c636ed82b8633ef/kernel/sched/core.c#L6536C10-L6536C10
to check all the following files:
arch/x86/entry/entry_32.S
arch/x86/entry/entry_64_compat.S
arch/x86/entry/entry_64.S
arch/x86/entry/entry.S

But I don't see any code that is calling the schedule or __schedule function.

On Sat, Dec 9, 2023 at 3:10 AM Billie Alsup (balsup) <balsup@cisco.com> wrote:
>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.