lkml.org 
[lkml]   [2011]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] cpuidle: Make cpuidle_enable_device() call poll_idle_init()
Date
On Tuesday 11 January 2011 01:05:53 Rafael J. Wysocki wrote:
> On Tuesday, January 11, 2011, Rafael J. Wysocki wrote:
> > On Tuesday, January 11, 2011, Len Brown wrote:
> > > > /**
> > > > * cpuidle_enable_device - enables idle PM for a CPU
> > > > * @dev: the CPU
> > > > @@ -176,6 +215,8 @@ int cpuidle_enable_device(struct cpuidle
> > > > ret = __cpuidle_register_device(dev);
> > > > if (ret)
> > > > return ret;
> > > > + } else {
> > > > + poll_idle_init(dev);
> > > > }
> > >
> > > how about calling poll_idle_init() unconditionally here
> > > and deleting the call to it from within __cpuidle_register_device()?
> >
> > Fine by me, as long as poll_idle_init() is called before the conditional. :-)
>
> In fact, it even doesn't need to be called before the conditional.
>
> So fine by me anyway.
What exactly was broken?
Is it only sysfs values?
Looks like an uninitialized "poll" state can cause cpuidle
to not enter "poll" state when it should or enter "poll" when
it should not.
Hm, if cpuidle would try to call state[0]->enter,
it might even segfault?
Even not that many machines might be affected because most won't
implement runtime C-state changes, shouldn't this still be
submitted for stable@ kernels?

Thanks,

Thomas


\
 
 \ /
  Last update: 2011-01-11 10:39    [W:0.042 / U:1.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site