Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

[PATCH 20/35] autonuma: avoid CFS select_task_rq_fair to return -1

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


aarcange at redhat

May 25, 2012, 10:02 AM

Post #1 of 2 (34 views)
Permalink
[PATCH 20/35] autonuma: avoid CFS select_task_rq_fair to return -1

Fix to avoid -1 retval.

Includes fixes from Hillf Danton <dhillf [at] gmail>.

Signed-off-by: Andrea Arcangeli <aarcange [at] redhat>
---
kernel/sched/fair.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 940e6d1..137119f 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2789,6 +2789,9 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
if (new_cpu == -1 || new_cpu == cpu) {
/* Now try balancing at a lower domain level of cpu */
sd = sd->child;
+ if (new_cpu < 0)
+ /* Return prev_cpu is find_idlest_cpu failed */
+ new_cpu = prev_cpu;
continue;
}

@@ -2807,6 +2810,7 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
unlock:
rcu_read_unlock();

+ BUG_ON(new_cpu < 0);
return new_cpu;
}
#endif /* CONFIG_SMP */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


a.p.zijlstra at chello

May 29, 2012, 7:02 AM

Post #2 of 2 (25 views)
Permalink
Re: [PATCH 20/35] autonuma: avoid CFS select_task_rq_fair to return -1 [In reply to]

On Fri, 2012-05-25 at 19:02 +0200, Andrea Arcangeli wrote:
> Fix to avoid -1 retval.
>
> Includes fixes from Hillf Danton <dhillf [at] gmail>.

This changelog is very much insufficient. It fails to mention why your
solution is the right one or if there's something else wrong with that
code.

> Signed-off-by: Andrea Arcangeli <aarcange [at] redhat>
> ---
> kernel/sched/fair.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 940e6d1..137119f 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -2789,6 +2789,9 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
> if (new_cpu == -1 || new_cpu == cpu) {
> /* Now try balancing at a lower domain level of cpu */
> sd = sd->child;
> + if (new_cpu < 0)
> + /* Return prev_cpu is find_idlest_cpu failed */
> + new_cpu = prev_cpu;
> continue;
> }
>
> @@ -2807,6 +2810,7 @@ select_task_rq_fair(struct task_struct *p, int sd_flag, int wake_flags)
> unlock:
> rcu_read_unlock();
>
> + BUG_ON(new_cpu < 0);
> return new_cpu;
> }
> #endif /* CONFIG_SMP */

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

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.