Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded relatedquestions?

From: Nick Piggin
Date: Tue Mar 22 2005 - 18:21:52 EST


Arun Srinivas wrote:
Pls. help me. I went through the sched.c for kernel 2.6 and saw that it supports
hyperthreading.I would be glad if someone could answer this question....(if
am not wrong a HT processor has 2 architectural states and one execution
unit...i.e., two pipeline streams)

1)when there are 2 processes a parent and child(created by fork()) do they
get scheduled @ the same time...ie., when the parent process is put into one
pipeline, do the child also gets scheduled the same time?


No.

2) what abt in the case of threads(I read tht as opposed to kernel2.4,where
threads are treated as processes) ..kernel 2.6 treats threads as threads.
So, when two paired threads get into execution are they always scheduled at
the same time?


No.

Also, it would be helpful if someone could suggest which part of sched.c
shud i look into to find out how threads are scheduled for a normal
processor and for a hyperthreaded processor


It is pretty tricky. Basically processes on different CPUs are
scheduled completely independently of one another. The only time
when they may get moved from one CPU to another is with
load_balance, load_balance_newidle, active_load_balance,
try_to_wake_up, sched_exec, wake_up_new_task.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/