mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
pmstat: Limit hypercalls under HWP
When HWP is active, the cpufreq P-state information is not updated. In that case, return -EOPNOTSUPP instead of bogus, incomplete info. Similarly, set_cpufreq_para() is not applicable when HWP is active. Many of the options already checked the governor and were inaccessible, but SCALING_MIN/MAX_FREQ was still accessible (though it would do nothing). Add an ealier HWP check to handle all cases. Signed-off-by: Jason Andryuk <jandryuk@gmail.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
e047b8d0fa
commit
052d78fbec
1 file changed
+5
@@ -66,6 +66,8 @@ int do_get_pm_info(struct xen_sysctl_get_pmstat *op)
|
||||
return -ENODEV;
|
||||
if ( !cpufreq_driver.init )
|
||||
return -ENODEV;
|
||||
if ( hwp_active() )
|
||||
return -EOPNOTSUPP;
|
||||
if ( !pmpt || !(pmpt->perf.init & XEN_PX_INIT) )
|
||||
return -EINVAL;
|
||||
break;
|
||||
@@ -330,6 +332,9 @@ static int set_cpufreq_para(struct xen_sysctl_pm_op *op)
|
||||
if ( !policy || !policy->governor )
|
||||
return -EINVAL;
|
||||
|
||||
if ( hwp_active() )
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
switch(op->u.set_para.ctrl_type)
|
||||
{
|
||||
case SCALING_MAX_FREQ:
|
||||
|
||||