lkml.org 
[lkml]   [2012]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 12/35] autonuma: CPU follow memory algorithm
On 05/29/2012 09:00 AM, Peter Zijlstra wrote:
> On Fri, 2012-05-25 at 19:02 +0200, Andrea Arcangeli wrote:
>> @@ -3274,6 +3268,8 @@ need_resched:
>>
>> post_schedule(rq);
>>
>> + sched_autonuma_balance();
>> +
>> sched_preempt_enable_no_resched();
>> if (need_resched())
>> goto need_resched;
>
>
>
>> +void sched_autonuma_balance(void)
>> +{
>
>> + for_each_online_node(nid) {
>> + }
>
>> + for_each_online_node(nid) {
>> + for_each_cpu_and(cpu, cpumask_of_node(nid), allowed) {
>
>
>> + }
>> + }
>
>> + stop_one_cpu(this_cpu, migration_cpu_stop,&arg);
>> +}
>
> NAK
>
> You do _NOT_ put a O(nr_cpus) or even O(nr_nodes) loop in the middle of
> schedule().
>
> I see you've made it conditional, but schedule() taking that long --
> even occasionally -- is just not cool.
>
> schedule() calling schedule() is also an absolute abomination.
>
> You were told to fix this several times..

Do you have any suggestions for how Andrea could fix this?

Pairwise comparisons with a busy CPU/node?

--
All rights reversed


\
 
 \ /
  Last update: 2012-05-29 16:41    [W:1.126 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site