Re: [PATCH 8/8] i8042: support device async suspend & shutdown

From: Andi Kleen
Date: Wed Jul 15 2009 - 06:46:54 EST


Zhang Rui <rui.zhang@xxxxxxxxx> writes:

> i8042 controller support device async actions.
>
> If boot option "dev_async_action" is added,
> i8042 controller and its child devices can be
> suspended/resumed/shutdown asynchronously.
>

>From a quick look at the i8042 driver it still
seems to do a lot of slow actions without actually sleeping
or worse holding locks. e.g. the delay loop in i8042_flush()

Did you measure how long that one takes?

Due to the locks even preempt kernels couldn't do
something during that time.

The spinlocks are probably needed when the code is executed
during interrupts, but perhaps the suspend variant
could use a different code path.

Perhaps it only makes sense to do this when this
code is converted to sleep during delays too?

-Andi


--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/