Re: [PATCH] Fix smpnice high priority task hopping problem

From: Peter Williams
Date: Thu Feb 16 2006 - 22:35:33 EST


Siddha, Suresh B wrote:
On Fri, Feb 17, 2006 at 01:30:43PM +1100, Peter Williams wrote:

On a normal system, would either of them be moved anyway?


Possible. Because when the migration thread runs it moves the current running
task out of the processor and the checks in can_migrate_task() like
"sd->nr_balance_failed > sd->cache_nice_tries" can result in cache hot task
move to the idle package.. This is a round about way and we should not depend
on this behavior..

So why does it need to be retained?



To fix my reported problem, we need to make sure that find_busiest_group()
doesn't find an imbalance..

I disagree. If this causes a problem with your "optimizations" then I think that you need to fix the "optimizations".

There's a rational argument (IMHO) that this patch should be applied even in the absence of the smpnice patches as it prevents active_load_balance() doing unnecessary work. If this isn't good for hypo threading then hypo threading is a special case and needs to handle it as such.


active load balance is designed only with HT optimizations in mind. And now
multi-core optimizations also use this active load balance. No one else uses
active load balance.

I can see nothing in the source code that will cause active_load_balance() to be only run on hypo threaded systems. Could you please provide some pointers to the mechanism that does this.

Peter
--
Peter Williams pwil3058@xxxxxxxxxxxxxx

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/