ioat2,3: convert to producer/consumer locking
authorDan Williams <dan.j.williams@intel.com>
Sat, 1 May 2010 22:22:55 +0000 (15:22 -0700)
committerDan Williams <dan.j.williams@intel.com>
Sat, 1 May 2010 22:22:55 +0000 (15:22 -0700)
commit074cc47679f8b0931d7d5384e95822d82768f149
treebd4699a1c769553f2bbfa931913352d26c81dc4d
parentabb12dfd50c7580d7dcbd581cf6265ba4d01ea7e
ioat2,3: convert to producer/consumer locking

Use separate locks for the descriptor prep (producer) and descriptor
cleanup (consumer) paths.  Allows the producer path to run concurrently
with the cleanup path.  Inspired by Documentation/circular-buffer.txt.

Cc: David Howells <dhowells@redhat.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ioat/dma.h
drivers/dma/ioat/dma_v2.c
drivers/dma/ioat/dma_v2.h
drivers/dma/ioat/dma_v3.c