[lkml]   [2005]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC PATCH] swap-sched: schedule with dynamic dependency detection (2.6.12-rc3)
    On 5/8/05, Con Kolivas <> wrote:
    > On Mon, 9 May 2005 01:55, Haoqiang Zheng wrote:
    > > I am not quite sure about what do you mean for " a ring of dependent
    > > tasks". Do you mean the situation that A depends on B while at the
    > > same time B depends on A? It shouldn't happen since in swap-sched,
    > > the dependency is generated on the fly. Task A depends on B only when
    > > A blocks on waiting for B. For example, if task A blocks on
    > > "read(pipe_fd,...)" and B is the task that can do
    > > "write(pipe_fd,...)", then A is depending on B. Once A is waked up,
    > > A no longer depends on any other task. So the "ring of dependent
    > > tasks" shouldn't happen, otherwise it's a deadlock.
    > Ok so how does it respond to process_load in contest?

    Based on my measurements, the "process_load" processes run at a
    dynamic priority of 115--122. Which is also pretty much the dynamic
    priority range of the gcc processes. At a certain point, the vanilla
    Linux scheduler may select either a process_load process or a gcc/make
    process to run, depending on which current runnable task has the
    highest dynamic priority.

    With swap-sched enabled, the virtual runnable tasks (tasks that are
    blocked because of waiting for another task) are kept in runqueue.
    For example, if a contest process_load task A with prio 115 blocks on
    waiting for another contest task B with prio 122, task A will remain
    in runqueue. Task A may be selected by the vanilla scheduler to run
    since it has a high priority. On noticing that A is a virtual runnable
    task, swap-sched further select B to run in place of A. So in the end,
    B will be select to run. Without swap-sched, A will be removed from
    the runqueue once it's blocked, and task B can hardly get a chance to
    run since it has a low priority. That's why at, process_load has a much
    higher LCPU% when swap-sched is enabled.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-05-09 06:00    [W:0.021 / U:37.820 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site