Basic Questions about Linux CPU scheduler - Linux

This is a discussion on Basic Questions about Linux CPU scheduler - Linux ; HI I am new to Linux. i was reading about CPU scheduling in general and that of Linux Kernel 2.6 in particular. I have three main questions: 1- Assume that the upper [higher priority] queue is empty and that the ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Basic Questions about Linux CPU scheduler

  1. Basic Questions about Linux CPU scheduler

    HI

    I am new to Linux. i was reading about CPU scheduling in general and
    that of Linux Kernel 2.6 in particular. I have three main questions:
    1- Assume that the upper [higher priority] queue is empty and that the
    lower queue contains a thread Th2. The latter is assigned to the CPU
    for a Quantum period of, say 30 ms. after 10 ms from its execution, a
    new thread Th1 is admitted to the upper queue. as such Th2 is pre-
    empted. Th1 is having the CPU.

    At this context switch, will Th2 be switched to the expired array
    queue? i guess no. Then when Th2 is assigned to the CPU again, will
    its assigned quantum reset to 30 ms, or instead to 30-10.

    2- i can't see the need of the expired array queue. according to what
    i have read, if any thread wants to use the cpu for a longer time than
    their assigned quantum, it will be stopped and put in one of the
    expired priority queues.

    Is there any reference which details how the new assigned priority
    queue is selected?
    What this expired array queue is needed?
    Why not assign the stopped thread to one of the active array queues
    obviously after thread priority recalculation?

    By assigning a stopped thread Th to the expired queues array, we are
    sure that the threads at the bottom of the actives queues will be
    executed. however those threads could not be as important as Th which
    has to wait until the active queues are run first before getting their
    turn. probably , maintaining one array of active threads ONLY is
    better? Am i missing something regarding the role of expired queues
    array

    3-is there any book / website which details the practical kernel
    algorithms supported with code tracing or snippets

    thank you for your time


  2. Re: Basic Questions about Linux CPU scheduler

    ThierryBingo@googlemail.com wrote:
    > HI
    >
    > I am new to Linux. i was reading about CPU scheduling in general and
    > that of Linux Kernel 2.6 in particular. I have three main questions:


    Your questions are not valid without specifying a specific 2.6.x version
    of the kernel--the scheduler has been changing substantially in recent
    versions. Also, your mention of "upper" and "lower" queues makes no sense.

    If you're interested in the current scheduler, you might want to read
    "http://people.redhat.com/mingo/cfs-scheduler/sched-design-CFS.txt".

    Chris

+ Reply to Thread