Messages in this thread | | | From | "Arun Srinivas" <> | Subject | Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded related questions? | Date | Wed, 23 Mar 2005 11:37:58 +0530 |
| |
If the SMT (apart from SMP) support is enabled in the .config file, does the kernel recogonize the 2 logical processor as 2 logical or 2 physical processors?
Also, as the hyperthreaded processor may schedule 2 threads in the 2 logical cpu's, and it may not necessarily be form the same process i.e., the 2 thread it schedules may be from the same or from the different process.
So, is there any way I can tell the scheduler (assuming I make the scheduler recogonize my 2 threads..i.e., it knows their pid) to schedule always my 2 threads @ the same time? How do I go abt it?
Pls. help.Thanks in Advance.
>From: Nick Piggin <nickpiggin@yahoo.com.au> >To: Arun Srinivas <getarunsri@hotmail.com> >CC: linux-kernel@vger.kernel.org >Subject: Re: help needed pls. scheduler(kernel 2.6) + hyperthreaded related >questions? >Date: Wed, 23 Mar 2005 10:16:20 +1100 > >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. >
_________________________________________________________________ News, views and gossip. http://www.msn.co.in/Cinema/ Get it all at MSN Cinema!
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |