lkml.org 
[lkml]   [2016]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v7 2/6] ACPI / processor_idle: Add support for Low Power Idle(LPI) states
From
Date
On 06/28/2016 03:55 PM, Sudeep Holla wrote:
> ACPI 6.0 introduced an optional object _LPI that provides an alternate
> method to describe Low Power Idle states. It defines the local power
> states for each node in a hierarchical processor topology. The OSPM can
> use _LPI object to select a local power state for each level of processor
> hierarchy in the system. They used to produce a composite power state
> request that is presented to the platform by the OSPM.
>
> Since multiple processors affect the idle state for any non-leaf hierarchy
> node, coordination of idle state requests between the processors is
> required. ACPI supports two different coordination schemes: Platform
> coordinated and OS initiated.
>
> This patch adds initial support for Platform coordination scheme of LPI.
>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---

Hi Sudeep,

I looked at the acpi processor idle code sometime ago and from my POV,
it was awful, unnecessary complex and very difficult to maintain. The
usage of flags all over the places is significant of the lack of control
of the written code.

Even if you are not responsible of this implementation, the current
situation forces you to add more awful code on top of that, which is
clearly against "making Linux better".

IMO, the current code deserves a huge cleanup before applying anything
new : cstate and lpi should be investigated to be self-contained in
their respective file and consolidated, the global variable usage should
be killed, redundant flag checking removed by recapturing the code flow,
etc ... I believe the usage of acpi probe table could be one entry point
to begin this cleanup.




--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

\
 
 \ /
  Last update: 2016-07-01 15:41    [W:0.031 / U:0.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site