lkml.org 
[lkml]   [2005]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: sched /HT processor
    Date


    >From: Steven Rostedt <rostedt@goodmis.org>
    >To: Jesper Juhl <juhl-lkml@dif.dk>
    >CC: Arun Srinivas <getarunsri@hotmail.com>, LKML
    ><linux-kernel@vger.kernel.org>
    >Subject: Re: sched /HT processor
    >Date: Sun, 03 Apr 2005 11:31:03 -0400
    >
    >On Sun, 2005-04-03 at 13:17 +0200, Jesper Juhl wrote:
    > >
    > > A reschedule can happen once every ms, but also upon returning to
    > > userspace and when returning from an interrupt handler, and also when
    > > something in the kernel explicitly calls schedule() or sleeps (which in
    > > turn results in a call to schedule()). And each CPU runs schedule()
    > > independently.
    > > At least that's my understanding of it - if I'm wrong I hope someone on
    > > the list will correct me.
    >
    >You're correct, but I'll add some more details here. The actual
    >schedule happens when needed. A schedule may not take place at every
    >ms, if the task running is not done with its time slice and no events
    >happened where another task should preempt it. If an RT task is running
    >in a FIFO policy, then it will continue to run until it calls schedule
    >itself or another process of higher priority preempts it.
    >
    >Now if you don't have PREEMPT turned on, than the schedule won't take
    >place at all while a task is in the kernel, unless the task explicitly
    >calls schedule.
    >
    >What happens on a timer interrupt where a task is done with its time
    >slice or another event where a schedule should take place, is just the
    >need_resched flag is set for the task. On return from the interrupt the
    >flag is checked, and if set a schedule is called.
    >
    >This is still a pretty basic description of what really happens, and if
    >you want to learn more, just start searching the kernel code for
    >schedule and need_resched. Don't forget to look in the asm code (ie
    >entry.S, and dependent on your arch other *.S files).
    >
    >-- Steve
    >
    >

    _________________________________________________________________
    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:31    [W:0.026 / U:29.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site