Re: Laptop shock detection and harddisk protection

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Shem Multinymous
Date: Thursday, September 11, 2008 - 9:08 am

Hi Tejun,

On Wed, Sep 10, 2008 at 12:59 PM, Tejun Heo <tj@kernel.org> wrote:



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.



The ThinkPad accelerometer needs to be polled at very regular
intervals (max jitter on the order of 10ms), which sounds like a job
for the kernel.
This is because in ThinkPads we actually have a 4-level pile:
[hdapsd userspace] -> [hdaps kernel] -> [embedded controller] ->
[accelerometer A2D]
What the kernel polls is actually is the H8S embedded controller (EC)
chip, which in turn does its own polling of the accelerometer A2D.
Now, the EC has a tiny buffer and strange buffering semantics, and it
has its own internal clock, so the software->EC polling should be very
regular to minmize EC buffer overflows/underruns.



Assuming the funky shock detection algorithms are done in userspace,
we need two interfaces: one for the acceleration data (an input device
works nicely) and one for "unload now" events.
On HP, the kernel can trigger the "unload now" event directly. On
ThinkPads, there's still the question of what the userspace shock
detection daemon should do when it detects a shock: should it unloads
the heads by itself, or trigger the generic "unload now" event and let
someone else do the actual unloading.

  Shem
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Sun Aug 17, 12:30 pm)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Sun Aug 17, 12:45 pm)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Sun Aug 17, 12:48 pm)
Laptop shock detection and harddisk protection, Tejun Heo, (Wed Sep 10, 9:59 am)
Re: Laptop shock detection and harddisk protection, Renato S. Yamane, (Wed Sep 10, 12:43 pm)
Re: Laptop shock detection and harddisk protection, Austin Zhang, (Thu Sep 11, 3:26 am)
Re: Laptop shock detection and harddisk protection, Tejun Heo, (Thu Sep 11, 4:18 am)
Re: Laptop shock detection and harddisk protection, Shem Multinymous, (Thu Sep 11, 9:08 am)
Re: Laptop shock detection and harddisk protection, Tejun Heo, (Thu Sep 11, 9:34 am)
Re: Laptop shock detection and harddisk protection, Shem Multinymous, (Thu Sep 11, 1:25 pm)
Re: Laptop shock detection and harddisk protection, Tejun Heo, (Thu Sep 11, 4:35 pm)
Re: Laptop shock detection and harddisk protection, Henrique de Moraes H ..., (Thu Sep 11, 4:36 pm)
Re: Laptop shock detection and harddisk protection, Jeremy Fitzhardinge, (Sat Sep 13, 9:41 pm)
Re: Laptop shock detection and harddisk protection, Tejun Heo, (Mon Sep 15, 1:29 am)
Re: Laptop shock detection and harddisk protection, Shem Multinymous, (Mon Sep 15, 11:09 am)
Re: Laptop shock detection and harddisk protection, Tejun Heo, (Mon Sep 15, 1:10 pm)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Thu Sep 18, 4:18 am)
Re: Laptop shock detection and harddisk protection, Thomas Renninger, (Fri Sep 19, 2:03 am)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Tue Oct 7, 1:40 pm)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Tue Oct 7, 2:40 pm)
Re: Laptop shock detection and harddisk protection, Shem Multinymous, (Tue Oct 7, 3:55 pm)
Re: Laptop shock detection and harddisk protection, Pavel Machek, (Tue Oct 7, 4:03 pm)