[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41840b750607300314t3280fd04ne17bb663c385fd6b@mail.gmail.com>
Date: Sun, 30 Jul 2006 13:14:10 +0300
From: "Shem Multinymous" <multinymous@...il.com>
To: "Pavel Machek" <pavel@...e.cz>
Cc: "Vojtech Pavlik" <vojtech@...e.cz>,
"Brown, Len" <len.brown@...el.com>,
"Matthew Garrett" <mjg59@...f.ucam.org>,
"kernel list" <linux-kernel@...r.kernel.org>,
linux-thinkpad@...ux-thinkpad.org, linux-acpi@...r.kernel.org,
"Greg KH" <greg@...ah.com>
Subject: Re: Generic battery interface
On 7/30/06, Pavel Machek <pavel@...e.cz> wrote:
> OTOH some applications just want more frequent polling than
> others. Shem's "first update after N msec" solution looks most
> flexible here.
Actually my solution was "any update but no sooner than N msecs". So
you might be getting a readout that's N-1 msecs old, which was
meanwhile cached by the driver. If you care about that, you need to
use interleave those polls with msleep()s; see my recent detailed
post. You'll still doing at most one msleep() per fetched readout,
regardless of how frequently the driver provides them.
Alternatively, we can add an extra parameter to that new
syscall/ioctl: "block until the time is T+N and you have a refresh
that was received from the hardware at time T+M, whichever is later"
(where T is the current time and N>M).
That's semantically equivalent to an msleep(M) followed by the
original delayed_update(N-M), but will save one timer interrupt per
iteration in some cases (e.g., an event-based hardware data source).
Shem
-
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