[lkml]   [2011]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Linux scheduler Questions
On Tue, Nov 1, 2011 at 6:24 PM, Xin Tong <> wrote:
> 2 questions on Linux 2.6.x scheduler.
> 1.  in Linux 2.6, when a process is waiting for IO. it will be placed
> on the wait queue. is the wait queue per cpu or global ? I do not see
> any field for the wait queue in the runqueue structure.

Where a particular process will wait depends on which scheduling
policy it will use. For a process which has SCHED_FIFO/SCHED_RR
policy, it will be handled by sched_rt scheduler. Where processes are
kept in priority-queue structure. Look for "struct rt_rq" structure.
If it's other than rt process, then processes are kept on red-black
tree (look at "struct cfs_rq" structure).

> 2. Linux 2.6 has the notion of scheduling domain, using an example to
> explain what I am getting at here
> In a HT enabled CPU, the CPU has 2 cores, each core has 2 threads.
> there will be 2 levels of domain.
> 1. Domain of lev.1 ==> 2 groups, 1 physical core per group.
> 2. Domain of lev. 0 ==> 2 groups, 1 logical core per group.
> When the load on the 2 logical cores is imbalanced, Linux will migrate
> some jobs from one to another. What if there is an imbalance of
> workload on the 2 physical cores ?
Will also try to migrate some jobs from busiest to less busiest core.
First, load balancer will try to find which core has less load, then
will try to find which logical CPU has less load.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2011-11-01 18:55    [W:0.028 / U:22.368 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site