|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |