Skip to content

Commit

Permalink
[PATCH] sched: add debugging
Browse files Browse the repository at this point in the history
These conditions should now be impossible, and we need to fix them if they
happen.

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Nick Piggin authored and Linus Torvalds committed Jun 25, 2005
1 parent 3950745 commit db935db
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -1942,15 +1942,7 @@ static int load_balance(int this_cpu, runqueue_t *this_rq,
goto out_balanced;
}

/*
* This should be "impossible", but since load
* balancing is inherently racy and statistical,
* it could happen in theory.
*/
if (unlikely(busiest == this_rq)) {
WARN_ON(1);
goto out_balanced;
}
BUG_ON(busiest == this_rq);

schedstat_add(sd, lb_imbalance[idle], imbalance);

Expand Down Expand Up @@ -2052,11 +2044,13 @@ static int load_balance_newidle(int this_cpu, runqueue_t *this_rq,
}

busiest = find_busiest_queue(group);
if (!busiest || busiest == this_rq) {
if (!busiest) {
schedstat_inc(sd, lb_nobusyq[NEWLY_IDLE]);
goto out_balanced;
}

BUG_ON(busiest == this_rq);

/* Attempt to move tasks */
double_lock_balance(this_rq, busiest);

Expand Down

0 comments on commit db935db

Please sign in to comment.