|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 8/9] x86/intel_pstate: support the use of intel_pstate in pmstat.c
On 26/05/2015 22:16, Jan Beulich wrote
> >>> On 13.05.16 at 09:51, <wei.w.wang@xxxxxxxxx> wrote:
> > --- a/xen/drivers/acpi/pmstat.c
> > +++ b/xen/drivers/acpi/pmstat.c
> > @@ -261,29 +272,47 @@ static int get_cpufreq_para(struct
> xen_sysctl_pm_op *op)
> > op->u.get_para.cpuinfo_max_freq = policy->cpuinfo.max_freq;
> > op->u.get_para.cpuinfo_min_freq = policy->cpuinfo.min_freq;
> > op->u.get_para.scaling_cur_freq = policy->cur;
> > - op->u.get_para.scaling_max_freq = policy->max;
> > - op->u.get_para.scaling_min_freq = policy->min;
> > + if (policy->policy) {
> > + op->u.get_para.scaling_max.max_perf_pct = policy->max_perf_pct;
> > + op->u.get_para.scaling_min.min_perf_pct = policy->min_perf_pct;
> > + op->u.get_para.scaling_turbo_pct = policy->turbo_pct;
> > + } else {
> > + op->u.get_para.scaling_max.max_freq = policy->max;
> > + op->u.get_para.scaling_min.min_freq = policy->min;
> > + }
>
> How does the caller then know which of the union member meanings
> apply?
The end caller is xenpm. It's aware of the running pstate driver, so it knows
the difference between freq and pct.
> > --- a/xen/include/public/sysctl.h
> > +++ b/xen/include/public/sysctl.h
> > @@ -314,8 +314,18 @@ struct xen_get_cpufreq_para {
> > uint32_t scaling_cur_freq;
> >
> > char scaling_governor[CPUFREQ_NAME_LEN];
> > - uint32_t scaling_max_freq;
> > - uint32_t scaling_min_freq;
> > +
> > + union {
> > + uint32_t max_freq;
> > + int32_t max_perf_pct;
> > + } scaling_max;
> > +
> > + union {
> > + uint32_t min_freq;
> > + int32_t min_perf_pct;
> > + } scaling_min;
> > +
> > + int32_t scaling_turbo_pct;
>
> Again all of these should presumably be uint32_t. Plus the max/min
> duplication should be avoided (i.e. drop the prefixes from the union
> fields). Nor do I think perf_pct is really all that useful - pct or
> percentage would do afaict.
Will change it to:
union {
uint32_t freq;
uint32_t pct;
} scaling_max;
union {
uint32_t freq;
uint32_t pct;
} scaling_min;
Best,
Wei
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |