Mauro, This is a resubmission of my previous PULL request. Please pull from: http://linuxtv.org/hg/~awalls/cx18-perf for the following: cx18: Increment version due to significant buffer handling changes cx18: Simplify the work handler for outgoing mailbox commands cx18: Convert per stream mutex locks to per queue spin locks cx18: Set up to wait for a one-shot response before sending a firmware cmd cx18: Add a work queue for deferring empty buffer handoffs to the firmware cx18: Rename the work queue to "in_work_queue" These are a series of patches to improve latency of incoming capture buffer handling from the time of firmware notification of DMA done, to the applications reading the data, by removing all possible sleeps in that processing. The sleeps, that can happen when trying to send empty buffers back to the firmware, now happen in an "out_work_handler" set of workqueue threads. Nothing has changed with these patches since my original request. The user who reported MythTV crashing could unfortunately not reproduce the problem for further investigation. I could not get these changes to crash MythTV in my testing. The only failure mode I could think of - an Oops or Bug when queueing and already queued work object - is not an issue according to LDD3 and the 2.6.27.9-159.fc10.x86_64 kernel source code. So I resubmitting for a PULL as is. Regards, Andy diffstat cx18-driver.c | 117 +++++++++++++++++++++++++++++++++++++++----------------- cx18-driver.h | 17 +++++--- cx18-dvb.c | 1 cx18-mailbox.c | 118 ++++++++++++++++++++++++++++++++++----------------------- cx18-mailbox.h | 4 - cx18-queue.c | 83 ++++++++++++++++++++++++---------------- cx18-streams.c | 46 ++++++++++++++++++---- cx18-streams.h | 24 ++++++++++- cx18-version.h | 2 9 files changed, 278 insertions(+), 134 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html