lkml.org 
[lkml]   [2005]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: help needed pls. scheduler(kernel 2.6) + hyperthreaded related questions?
    Date
    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/

    \
     
     \ /
      Last update: 2005-04-06 13:30    [W:0.094 / U:0.344 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site