[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] AMD, powernow: Update P-state directly when _PSD's CoordType is DOMAIN_COORD_TYPE_HW_ALL



>>> On 16.08.12 at 18:41, Boris Ostrovsky <boris.ostrovsky@xxxxxxx> wrote:
> @@ -137,26 +122,28 @@ static int powernow_cpufreq_target(struc
>              return 0;
>      }
>  
> -    if (policy->shared_type != CPUFREQ_SHARED_TYPE_ANY)
> -        cmd.mask = &online_policy_cpus;
> -    else
> -        cmd.mask = cpumask_of(policy->cpu);
> +    if (policy->shared_type == CPUFREQ_SHARED_TYPE_HW &&
> +        likely(policy->cpu == smp_processor_id())) {
> +        transition_pstate(&next_perf_state);
> +        cpufreq_statistic_update(policy->cpu, perf->state, next_perf_state);

Actually - is this enough? Doesn't this also need to be done based
on policy->cpus?

Jan

> +    } else {
> +        cpumask_and(&online_policy_cpus, policy->cpus, &cpu_online_map);
>  
> -    freqs.old = perf->states[perf->state].core_frequency * 1000;
> -    freqs.new = data->freq_table[next_state].frequency;
> +        if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
> +            unlikely(policy->cpu != smp_processor_id()))
> +            on_selected_cpus(&online_policy_cpus, transition_pstate,
> +                             &next_perf_state, 1);
> +        else
> +            transition_pstate(&next_perf_state);
>  
> -    cmd.val = next_perf_state;
> -    cmd.turbo = policy->turbo;
> -
> -    on_selected_cpus(cmd.mask, transition_pstate, &cmd, 1);
> -
> -    for_each_cpu(j, &online_policy_cpus)
> -        cpufreq_statistic_update(j, perf->state, next_perf_state);
> +        for_each_cpu(j, &online_policy_cpus)
> +            cpufreq_statistic_update(j, perf->state, next_perf_state);
> +    }    
>  
>      perf->state = next_perf_state;
> -    policy->cur = freqs.new;
> +    policy->cur = data->freq_table[next_state].frequency;
>  
> -    return result;
> +    return 0;
>  }
>  
>  static int powernow_cpufreq_verify(struct cpufreq_policy *policy)
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx 
> http://lists.xen.org/xen-devel 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.