Re: [patch 6/8] pull RT tasks

2007-10-22 Thread Steven Rostedt
-- On Tue, 23 Oct 2007, Dmitry Adamushko wrote: > Hi Steven, > > agreed with your comments in the previous message. Indeed, I missed some > points. > > > On wakeup, we can wake up several RT tasks (as my test case does) and if > > we only push one task, then the other tasks may not migrate over

Re: [patch 6/8] pull RT tasks

2007-10-22 Thread Dmitry Adamushko
Hi Steven, agreed with your comments in the previous message. Indeed, I missed some points. > On wakeup, we can wake up several RT tasks (as my test case does) and if > we only push one task, then the other tasks may not migrate over to the > other run queues. I logged this happening in my tests.

Re: [patch 6/8] pull RT tasks

2007-10-22 Thread Steven Rostedt
On Sun, 2007-10-21 at 13:59 +0200, Dmitry Adamushko wrote: > On 19/10/2007, Steven Rostedt <[EMAIL PROTECTED]> wrote: > > > [ ... ] > > > > @@ -2927,6 +2927,13 @@ static void idle_balance(int this_cpu, s > > int pulled_task = -1; > > unsigned long next_balance = jiffies + HZ; > > >

Re: [patch 6/8] pull RT tasks

2007-10-22 Thread Steven Rostedt
Hi Dmitry, On Sun, 2007-10-21 at 11:35 +0200, Dmitry Adamushko wrote: > Hi Steven, > > > When a pull RT is initiated, all overloaded runqueues are examined for > > a RT task that is higher in prio than the highest prio task queued on the > > target runqueue. If another runqueue holds a RT task t

Re: [patch 6/8] pull RT tasks

2007-10-21 Thread Dmitry Adamushko
On 19/10/2007, Steven Rostedt <[EMAIL PROTECTED]> wrote: > [ ... ] > > @@ -2927,6 +2927,13 @@ static void idle_balance(int this_cpu, s > int pulled_task = -1; > unsigned long next_balance = jiffies + HZ; > > + /* > +* pull_rt_task returns true if the run queue changed

Re: [patch 6/8] pull RT tasks

2007-10-21 Thread Dmitry Adamushko
Hi Steven, > When a pull RT is initiated, all overloaded runqueues are examined for > a RT task that is higher in prio than the highest prio task queued on the > target runqueue. If another runqueue holds a RT task that is of higher > prio than the highest prio task on the target runqueue is found

Re: [patch 6/8] pull RT tasks

2007-10-19 Thread Steven Rostedt
-- On Fri, 19 Oct 2007, Peter Zijlstra wrote: > > > + > > > + if (likely(!atomic_read(&rt_overload))) > > > + return 0; > > > > This seems to be the only usage of rt_overload. I'm not sure its worth > > keeping it around for this. > > Ingo just brought up a good point. With large smp (whe

Re: [patch 6/8] pull RT tasks

2007-10-19 Thread Peter Zijlstra
On Fri, 2007-10-19 at 21:24 +0200, Peter Zijlstra wrote: > On Fri, 2007-10-19 at 14:43 -0400, Steven Rostedt wrote: > > plain text document attachment (rt-balance-pull-tasks.patch) > > > +static int pull_rt_task(struct rq *this_rq) > > +{ > > + struct task_struct *next; > > + struct task_stru

Re: [patch 6/8] pull RT tasks

2007-10-19 Thread Peter Zijlstra
On Fri, 2007-10-19 at 14:43 -0400, Steven Rostedt wrote: > plain text document attachment (rt-balance-pull-tasks.patch) > +static int pull_rt_task(struct rq *this_rq) > +{ > + struct task_struct *next; > + struct task_struct *p; > + struct rq *src_rq; > + int this_cpu = this_rq->c

[patch 6/8] pull RT tasks

2007-10-19 Thread Steven Rostedt
This patch adds the algorithm to pull tasks from RT overloaded runqueues. When a pull RT is initiated, all overloaded runqueues are examined for a RT task that is higher in prio than the highest prio task queued on the target runqueue. If another runqueue holds a RT task that is of higher prio tha