lkml.org 
[lkml]   [2006]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: -mm seems significanty slower than mainline on kernbench
Martin Bligh wrote:
>
>>>
>>> But I was thinking more about the code that (in the original) handled
>>> the case where the number of tasks to be moved was less than 1 but
>>> more than 0 (i.e. the cases where "imbalance" would have been reduced
>>> to zero when divided by SCHED_LOAD_SCALE). I think that I got that
>>> part wrong and you can end up with a bias load to be moved which is
>>> less than any of the bias_prio values for any queued tasks (in
>>> circumstances where the original code would have rounded up to 1 and
>>> caused a move). I think that the way to handle this problem is to
>>> replace 1 with "average bias prio" within that logic. This would
>>> guarantee at least one task with a bias_prio small enough to be moved.
>>>
>>> I think that this analysis is a strong argument for my original patch
>>> being the cause of the problem so I'll go ahead and generate a fix.
>>> I'll try to have a patch available later this morning.
>>
>>
>>
>> Attached is a patch that addresses this problem. Unlike the
>> description above it does not use "average bias prio" as that solution
>> would be very complicated. Instead it makes the assumption that
>> NICE_TO_BIAS_PRIO(0) is a "good enough" for this purpose as this is
>> highly likely to be the median bias prio and the median is probably
>> better for this purpose than the average.
>>
>> Signed-off-by: Peter Williams <pwil3058@bigpond.com.au>
>
>
> Doesn't fix the perf issue.

OK, thanks. I think there's a few more places where SCHED_LOAD_SCALE
needs to be multiplied by NICE_TO_BIAS_PRIO(0). Basically, anywhere
that it's added to, subtracted from or compared to a load. In those
cases it's being used as a scaled version of 1 and we need a scaled
version of NICE_TO_BIAS_PRIO(0). I'll have another patch later today.

Peter
--
Peter Williams pwil3058@bigpond.net.au

"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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-01-12 21:06    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site