[ivtv-devel] [PULL] http://linuxtv.org/hg/~awalls/cx18-perf

Andy Walls awalls at radix.net
Mon Apr 27 00:28:15 CEST 2009


This is a resubmission of my previous PULL request.

Please pull from:


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 kernel source
code.  So I resubmitting for a PULL as is.


 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(-)

More information about the ivtv-devel mailing list