From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Shem Multinymous <multinymous@gmail.com>
Cc: Tejun Heo <tj@kernel.org>, Elias Oltmanns <eo@nebensachen.de>,
Thomas Renninger <trenn@suse.de>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: Laptop shock detection and harddisk protection
Date: Sat, 13 Sep 2008 21:41:33 -0700 [thread overview]
Message-ID: <48CC95FD.3090407@goop.org> (raw)
In-Reply-To: <41840b750809111325t30f8ffe2sa4572d401d43dc5a@mail.gmail.com>
Shem Multinymous wrote:
> Hi Tejun,
>
> On Thu, Sep 11, 2008 at 12:34 PM, Tejun Heo <tj@kernel.org> wrote:
>
>> Hello, Shem Multinymous.
>>
>>> Using the input device interface for the accelerometer (as done by
>>> tp_smapi's hdaps + latest hdapsd) greatly reduces the number of
>>> accelerometer-related timer interrupts on tickless kernels, as
>>> measured by powertop. With syscall polling you have the kernal polling
>>> the hardware at ~50Hz and then the userspace hdapsd polling the kernel
>>> at ~50Hz. When they're out of phase so you can get up to 100
>>> interrupts/sec. With an input device you're always at 50Hz. The phase
>>> difference also induces a small extra delay in the shock handling
>>> response.
>>>
>> That reduction comes because input device supports poll and
>> sysfs_notify_event() does about the same thing. The uesrland daemon
>> can just poll on a node and read data nodes when poll event on the
>> node triggeres.
>>
>
> Agreed.
> There's another issue with the current sysfs interface, though: hdapsd
> needs to read (x,y,timestamp) tuples, whereas sysfs provides just x
> and y in separate attributes which cannot be read atomically together.
> We can add a sysfs file with "x y timestamp" readouts, though this is
> unusual for sysfs (and certainly incompatible with hwmon).
>
Assuming timestamp is always updated when the x,y values change, you can do:
do {
ts = read_timestamp();
x = read_x();
y = read_y();
ts2 = read_timestamp();
} while(ts != ts2);
J
next prev parent reply other threads:[~2008-09-14 4:41 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-10 16:59 Laptop shock detection and harddisk protection Tejun Heo
2008-09-10 19:43 ` Renato S. Yamane
2008-09-11 10:26 ` Austin Zhang
2008-09-11 11:18 ` Tejun Heo
2008-09-11 16:08 ` Shem Multinymous
2008-09-11 16:34 ` Tejun Heo
2008-08-17 19:48 ` Pavel Machek
2008-09-11 20:00 ` Elias Oltmanns
2008-08-17 19:51 ` Pavel Machek
2008-09-17 15:21 ` Elias Oltmanns
2008-09-17 19:36 ` Shem Multinymous
2008-09-11 20:25 ` Shem Multinymous
2008-08-17 19:30 ` Pavel Machek
2008-09-11 23:35 ` Tejun Heo
2008-09-12 16:59 ` Greg KH
2008-08-17 19:45 ` Pavel Machek
2008-09-17 18:04 ` Greg KH
2008-09-18 11:18 ` Pavel Machek
2008-09-19 9:03 ` Thomas Renninger
2008-09-24 5:14 ` Greg KH
2008-10-07 20:40 ` Pavel Machek
2008-10-07 21:19 ` Greg KH
2008-10-07 21:40 ` Pavel Machek
2008-10-07 22:03 ` Greg KH
2008-10-07 23:03 ` Pavel Machek
2008-10-07 22:55 ` Shem Multinymous
2008-09-15 8:29 ` Tejun Heo
2008-09-15 18:09 ` Shem Multinymous
2008-09-15 20:10 ` Tejun Heo
2008-09-14 4:41 ` Jeremy Fitzhardinge [this message]
2008-09-11 23:36 ` Henrique de Moraes Holschuh
[not found] <baBmH-48R-17@gated-at.bofh.it>
2008-09-12 13:28 ` Bodo Eggert
2008-09-12 13:28 ` Bodo Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48CC95FD.3090407@goop.org \
--to=jeremy@goop.org \
--cc=eo@nebensachen.de \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=multinymous@gmail.com \
--cc=tj@kernel.org \
--cc=trenn@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.