Re: [PATCH 6/8] PM: Add suspend blocking work.

From: Pavel Machek
Date: Fri Apr 30 2010 - 13:52:05 EST


Hi!

> Allow work to be queued that will block suspend while it is pending
> or executing. To get the same functionality in the calling code often
> requires a separate suspend_blocker for pending and executing work, or
> additional state and locking. This implementation does add additional
> state and locking, but this can be removed later if we add support for
> suspend blocking work to the core workqueue code.
>
> Signed-off-by: Arve Hj??nnev??g <arve@xxxxxxxxxxx>

Seems sane. ACK.

> +struct suspend_blocking_work {
> + struct work_struct work;
> +#ifdef CONFIG_OPPORTUNISTIC_SUSPEND

Cound we name it C_AUTO_SUSPEND... to reduce length and typo
potential?

> + struct suspend_blocker suspend_blocker;
> + work_func_t func;
> + spinlock_t lock;
> + int active;

Is the lock internal-use, or is API user allowed to use it?
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/