Sreejith M M at
Wed Jan 28 11:55:10 EST 2015


I was reading LKD by Robert Love. I got the following idea from the book.

Correct me if I am worng
I was checking through source code and I found that on every timer
interrupt, through sched/fair.c we are raising the SCHED_SOFTIRQ().
I was checking the relation between SCHED_SOFTIRQ and actual
__schedule() function.

My assumption:
schedule() function is the function which selects the processes which
are ready to run  in run queue. schedule() function is called in every
timer tick.

What I was thinking is that schedule() will be called as part of
handling SCHED_SOFTIRQ() . But in source code, SCHED_SOFTIRQ is
handled through run_rebalance_domain() function (sched/fair.c) . I am
unable to trace __schedule()  from this function.

Am I missing anything or my assumptions are wrong?

More information about the Kernelnewbies mailing list