Hi Valdis, Thanks for getting back to me! I should've looked into newer versions. (Was looking at 2.6.34 because the latest book I have on linux kernel, Linux Kernel Development, 3rd Edition by Robert Love, is based on that version.)
I do have the same question for the latest version. Here: https://github.com/torvalds/linux/blob/4df7c5fde316820286dfa6d203a1005d7fbe007d/kernel/sched/core.c#L5632 the scheduler_tick() is calling curr->sched_class->task_tick(rq, curr, 0); https://github.com/torvalds/linux/blob/4df7c5fde316820286dfa6d203a1005d7fbe007d/kernel/sched/core.c#L5651 This is calling entity_tick(), https://github.com/torvalds/linux/blob/4df7c5fde316820286dfa6d203a1005d7fbe007d/kernel/sched/fair.c#L5447 and then resched_curr(), https://github.com/torvalds/linux/blob/4df7c5fde316820286dfa6d203a1005d7fbe007d/kernel/sched/core.c#L1040 As the comment says, resched_curr() is still just setting the need_resched flag on a uniprocessor. It is not calling the schedule() function. When/how is the schedule() function actually called? Appreciate any explanation/guidance on this! Thanks! On Sat, Dec 9, 2023 at 1:45 AM Valdis Klētnieks <valdis.kletni...@vt.edu> wrote: > On Sat, 09 Dec 2023 00:16:32 +0800, Dawei Li said: > > Greetings! > > > (Although I am using the 2.6.34 version, I believe the question is > generally > > applicable to any kernel version.) > > That is, in general, a bad assumption when you are looking at kernel > versions > old enough that they count as digital archaeology.... > > [/usr/src/linux-next] git show v2.6.34 > tag v2.6.34 > Tagger: Linus Torvalds <torva...@linux-foundation.org> > Date: Sun May 16 14:17:44 2010 -0700 > [/usr/src/linux-next] git diff --shortstat v2.6.34..next-20231205 > 96965 files changed, 32056985 insertions(+), 7606202 deletions(-) > > Given that next-20231205 has just over 33 million lines of code, we're well > into territory where there's a vanishing small percentage of code still > remaining unchanged from 2010. > > And yes, that means that even basic functions schedule() and friends have > been > reworked in he past decade and a half.... > >
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies