lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <45096912.9010603@gmail.com>
Date:	Thu, 14 Sep 2006 18:37:06 +0400
From:	"Eugeny S. Mints" <eugeny.mints@...il.com>
To:	pm list <linux-pm@...ts.osdl.org>
CC:	Matthew Locke <matt@...adgs.com>,
	Amit Kucheria <amit.kucheria@...ia.com>,
	Igor Stoppa <igor.stoppa@...ia.com>, Greg KH <greg@...ah.com>,
	kernel list <linux-kernel@...r.kernel.org>
Subject: [PATCH] PowerOP, Intro 0/2

The PowerOP Core provides completely arch independent interface
to create and control operating points which consist of arbitrary
subset of power parameters available on a certain platform.

PowerOP Core upper layer interface provides the following capabilities:
- to register an operating point by passing an identifier of the point
represented by a string and arbitrary subset of power parameters available on a
certain platform by a string (parameter name) and value pairs.
- to unregister operating point by name
- to set operating point by name
- to get values of arbitrary subset of platform power parameters associated
this  a point (point is passed by name or NULL to get current parameter values
from hw)
- _optional_ SysFS interface. If SysFs interface is enabled each operating point
registered with PowerOP core appears under /sys/power/. /sys/power/<op>/ will
contain an attribute for each power parameter. Power parameters are rw. An
operating point may be activated by writing its name to /sys/power/active. The
hardware power parameters currently set may be read via /sys/power/hw/, a
special operating point that reads parameter attribute values from hardware, for
diagnostic purposes.
Operating points creation with help of SysFS interface is _optional_
_configurable_ feature. Operating points are created by writing the name of the
operating point to /sys/power/new.  This may be a job for configfs.


PowerOP get and register point APIs use name/value pairs for the power
parameters which eliminate the need for data structure sharing between
the PM core and consumers of the PowerOP API.   Earlier versions
required include/asm-xxx/power_params.h to be included in both places.

This also enables a variable argument list for the registration and get
APIs.  Some operating points may only need to work with a subset of the
power parameters.  In this case the creator of the operating point only
needs to provide the name/value pair for the parameters required for
that point.  The rest are set to a don't care value by the internals.

PowerOP is a building block for power management on systems that have a
large set of power parameter that can adjusted to maximize power and
operational efficiency.   Mobile consumer devices are examples of these
systems that require the PowerOP features.   However, PowerOP works
just as well on systems with one or two parameters.  The API allows the
h/w layer to define what parameters are available on that platform.

Operating points can be registered at anytime.  Registration can occur
from a architecture init-call, loadable kernel module or some other
layer.  Operating point registration notifiers are provided for layers,
such as cpufreq, that could take advantage of new operating
points that become available or just need to know when operating points
are loaded.

PowerOP continues to support in kernel governor concepts from cpufreq as well
as userspace policy managers.









-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ