lkml.org 
[lkml]   [2000]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC] Implementing temporal affinity
Date
From: "Chris Swiedler" <ceswiedler@mindspring.com>
> > Let's say the minimum time is 50 cycles:
> >
> > Process A last_cpu = 1
> > Process B last_cpu = 1
> > Process C last_cpu = 1
> >
> > Process C runs for 200 cycles on CPU 1
> > Process C last_cpu = 1
> > Process A runs for 300 cycles on CPU 2
> > Process A last_cpu = 2
> >
> > Process C is running on CPU 1
> > Process C last_cpu = 1
> > Process B runs for 15 cycles on CPU 2 but is interrupted
> > Process B last_cpu = 1 (unaltered)
> >
> > Here we have:
> > Process A last_cpu = 2
> > Process B last_cpu = 1
> > Process C last_cpu = 1
> > C is currenty running on 1
> > Scheduler needs to pick a process for 2
> > A runs on 2
> >
> > C is starved
>
> ??? I don't see how C is starved. C and B have an equal chance of being
> scheduled for CPU 1 (barring other factors). Certainly, C won't be starved
> in an extreme sense, because we're only adjusting the goodness(), and so
> eventually it will be scheduled again.

Sorry, typo. B is starved. C is already running on 1
and has 185 cycles left.

Also, I meant starved in that even though B is the
process time-affinity scheduling should choose, it
won't get chosen.

..Stu


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:38    [from the cache]
©2003-2011 Jasper Spaans