cpuidle: haltpoll: Take 'idle=' override into account
Currenly haltpoll isn't aware of the 'idle=' override, the priority is 'idle=poll' > haltpoll > 'idle=halt'. When 'idle=poll' is used, cpuidle driver is bypassed but current_driver in sys still shows 'haltpoll'. When 'idle=halt' is used, haltpoll takes precedence and makes 'idle=halt' have no effect. Add a check to prevent the haltpoll driver from loading if 'idle=' is present. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com> Co-developed-by: Joao Martins <joao.m.martins@oracle.com> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
7d194c2100
Коммит
31d851407f
|
@ -95,6 +95,10 @@ static int __init haltpoll_init(void)
|
||||||
int ret;
|
int ret;
|
||||||
struct cpuidle_driver *drv = &haltpoll_driver;
|
struct cpuidle_driver *drv = &haltpoll_driver;
|
||||||
|
|
||||||
|
/* Do not load haltpoll if idle= is passed */
|
||||||
|
if (boot_option_idle_override != IDLE_NO_OVERRIDE)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
cpuidle_poll_state_init(drv);
|
cpuidle_poll_state_init(drv);
|
||||||
|
|
||||||
if (!kvm_para_available() ||
|
if (!kvm_para_available() ||
|
||||||
|
|
Загрузка…
Ссылка в новой задаче