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

Peter Williams
2006-02-17T03:14:47Z

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.