Thread (10 messages) 10 messages, 4 authors, 2009-07-24

Re: [PATCH 1/2] tsc2007: remove HR timer

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2009-06-25 21:20:43
Also in: lkml

On Tue, 23 Jun 2009 13:54:48 +0200
Richard R__jfors [off-list ref] wrote:
This patch removes the HR timer, since it's bad to do synchronous I2C
in the HR timer callback context. The new implementation makes use
of the global workqueue. The work is scheduled every 5ms when polling
rather than 5 us.
"it's bad" isn't a very good description of the problem which the patch
fixes.

This matters.  People wish to make decisions about whether this patch
is needed in 2.6.29.x, 2.6.30.x, 2.6.31, 2.6.32, etc.  Without knowing
the effects of the problem which the patch fixes, we cannot make that
decision!
+	/* cancel any work */
+	cancel_delayed_work(&ts->work);
+
Should this have been cancel_delayed_work_sync()?


/*
 * Kill off a pending schedule_delayed_work().  Note that the work callback
 * function may still be running on return from cancel_delayed_work(), unless
 * it returns 1 and the work doesn't re-arm itself. Run flush_workqueue() or
 * cancel_work_sync() to wait on it.
 */
static inline int cancel_delayed_work(struct delayed_work *work)


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help