Re: [PATCH] sched: make update_sd_pick_busiest return true on a busier sd

From: Rik van Riel
Date: Fri Jul 25 2014 - 12:23:38 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/25/2014 12:05 PM, Peter Zijlstra wrote:
> On Fri, Jul 25, 2014 at 11:45:02AM -0400, Rik van Riel wrote:
>>> So for !ASYM the code is effectively:
>>>
>>> return sgs->avg_load > sds->busiest_stat.avg_load;
>>>
>>> I'd like to at least add a clause that makes overloaded groups
>>> prioritized over !overloaded groups.
>>>
>>> Also, like we found earlier, calculate_imbalance() relies on
>>> the sum_nr_running > group_capacity_factor thing, which you've
>>> just 'wrecked', so we'd need an update to that part too.
>>
>> I guess that would mean update_sd_pick_busiest would look like
>> this for the !ASYM case:
>>
>> 1) remembering whether busiest is overloaded
>>
>> 2) if (sgs->busiest_stat.overloaded && !sgs->overloaded) return
>> false;
>>
>> 3) if (sgs->avg_load > sds->busiest_stat.avg_load) return true;
>
> Right. So the situation I was worried about is where we have say 8
> +nice tasks in one group and 2 -nice in another. So the group with
> 2 tasks can actually be 'heavier' but not fully utilized. In that
> case we want to pull tasks from the lighter but overloaded group.

I can certainly create a new patch that makes update_sd_pick_busiest
do just that.

Vincent, any objections to me fixing update_sd_pick_busiest now, or
will that conflict with your code cleanups?

- --
All rights reversed
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJT0oRWAAoJEM553pKExN6DRdoH/2VsMEbeRdr9o99CYV3hK2bj
OT4O5xlz47aBq+/J3Sp35DZKtQ8PpYICNoNzddyF5Blr7ZcXB2OQj5Cv5Lj3Dtcs
q/AnJAN+6mDNq4B3aVfTb3BMDcrSz8LNdpNwVM80gfvbcZkcWIYWF2FigShIggMZ
bKz4cC5hVphtYR/WH6gnb5dXwgXBGYatwYsDXnVw6SLRbXcwYrB646SmZYXDVcER
bOj5IAjdfAlFkLbeow6OaX1arBrd6lyKfVI4Mzr848dqLBrJvmPvx/R4Z8EzPN2H
Gv4kqU7s9CAk1QOZLHWAOCDjG7PdMZfkS7WEZnQinMIutBK/jYJ4IXY8NNeS96I=
=OcR0
-----END PGP SIGNATURE-----
--
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/