Re: [PATCH 1/2] hwmon: Enhance the sysfs API for power meters.

From: Pavel Machek
Date: Sat Aug 08 2009 - 17:48:44 EST


On Sat 2009-08-08 10:40:20, Darrick J. Wong wrote:
> On Fri, Aug 07, 2009 at 08:09:06PM +0200, Pavel Machek wrote:
> >
> > > @@ -365,6 +373,16 @@ power[1-*]_average_lowest Historical average minimum power use
> > > Unit: microWatt
> > > RO
> > >
> > > +power[1-*]_average_max A notification is sent when power use
> > > + rises above this value.
> > > + Unit: microWatt
> > > + RW
> > > +
> >
> > How is the notification sent?
>
> ACPI Notify is sent to the kernel, which passes it to the ACPI
> netlink socket.

Uhuh. This is hwmon documentation AFAICT; so a) it should be
documented here, and b) interface should be generic so that it works
without ACPI, too.

> > > +power[1-*]_average_min A notification is sent when power use
> > > + sinks below this value.
> > > + Unit: microWatt
> > > + RW
> >
> > And what is this good for? Will it wake from sleep? Will it wake from
> > C3?
>
> All it really does is generates an ACPI Notify event, which is a hint to the OS
> that it could re-read the power meter use.

So it is one-shot? Document that.

> > ...seems like good way to prevent deep sleep states.
> >
> > > +power[1-*]_cap If power use rises above this limit, the
> > > + system should take action to reduce
> > > power use.
> >
> > System as in 'hw'? Or who? And how?
>
> The ACPI spec is silent on this matter. It's not clear if the OS is supposed
> to monitor and take action on its own when power > cap, or if the hardware/BIOS
> will take action, or possibly both...?

Having user<->kernel interface that is well... uh... undocumented
makes little sense.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/