|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 03/13] cpufreq: Export intel_feature_detect
On Mon, Aug 15, 2022 at 10:34 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
>
> On 10.08.2022 21:29, Jason Andryuk wrote:
> > Export feature_detect as intel_feature_detect so it can be re-used by
> > HWP.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@xxxxxxxxx>
> > ---
> > v2
> > export intel_feature_detect with typed pointer
> > Move intel_feature_detect to acpi/cpufreq/cpufreq.h since the
> > declaration now contains struct cpufreq_policy *.
>
> I don't mind the new placement, but I don't follow the reasoning.
v1 added
void intel_feature_detect(void *info);
to acpi/cpufreq/processor_perf.h
v2 adds
void intel_feature_detect(struct cpufreq_policy *policy)
to acpi/cpufreq/cpufreq.h, which was selected to have the type available.
> > --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
> > +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> > @@ -340,9 +340,8 @@ static unsigned int cf_check
> > get_cur_freq_on_cpu(unsigned int cpu)
> > return extract_freq(get_cur_val(cpumask_of(cpu)), data);
> > }
> >
> > -static void cf_check feature_detect(void *info)
> > +void intel_feature_detect(struct cpufreq_policy *policy)
> > {
> > - struct cpufreq_policy *policy = info;
> > unsigned int eax;
> >
> > eax = cpuid_eax(6);
> > @@ -354,6 +353,11 @@ static void cf_check feature_detect(void *info)
> > }
> > }
> >
> > +static void cf_check feature_detect(void *info)
>
> This function is invoked indirectly via on_selected_cpus() (hence
> the cf_check attribute) - I wonder how you get away without that for
> HWP. Or else why we need this as a wrapper here when then you'd have
> another similar wrapper elsewhere.
HWP calls hwp_init_msrs via on_selected_cpus, which then directly
calls intel_feature_detect(). ACPI needs the cf_check on
feature_detect, but intel_feature_detect is only called directly.
> > +{
> > + intel_feature_detect((struct cpufreq_policy *)info);
>
> Why the cast?
I thought it was necessary to keep the compiler happy. Double
checking, you are correct that it is not needed.
Thanks,
Jason
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |