[lkml]   [2011]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC PATCH v2 4/4] cpuidle: (POWER) Handle power_save=off
    On Mon, 2011-11-28 at 16:33 +0530, Deepthi Dharwar wrote:

    > On an LPAR if cpuidle is disabled, ppc_md.power_save is still set to
    > cpuidle_idle_call by default here. This would result in calling of
    > cpuidle_idle_call repeatedly, only for the call to return -ENODEV. The
    > default idle is never executed.
    > This would be a major design flaw. No fallback idle routine.
    > We propose to fix this by checking the return value of
    > ppc_md.power_save() call from void to int.
    > Right now return value is void, but if we change this to int, this
    > would solve two problems. One being removing the cast to a function
    > pointer in the prev patch and this design flaw stated above.
    > So by checking the return value of ppc_md.power_save(), we can invoke
    > the default idle on failure. But my only concern is about the effects of
    > changing the ppc_md.power_save() to return int on other powerpc
    > architectures. Would it be a good idea to change the return type to int
    > which would help us flag an error and fallback to default idle?

    I would have preferred an approach where the cpuidle module sets
    ppc_md.power_save when loaded and restores it when unloaded ... but that
    would have to go into the cpuidle core as a powerpc specific tweak and
    might not be generally well received.

    So go for it, add the return value, but you'll have to update all the
    idle functions (grep for power_save in arch/powerpc to find them).


     \ /
      Last update: 2011-11-28 21:43    [W:0.021 / U:37.780 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site