On 5/8/05, Con Kolivas <[email protected]> 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
http://swap-sched.sourceforge.net/node9.html, process_load has a much
higher LCPU% when swap-sched is enabled.
Haoqiang
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]