]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
aoe: kernel thread handles I/O completions for simple locking
authorEd Cashin <ecashin@coraid.com>
Fri, 28 Sep 2012 00:22:22 +0000 (10:22 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 3 Oct 2012 06:51:03 +0000 (16:51 +1000)
commitac64e6b2cec4113f36168a0d87b03800f27f23c0
treebc23b27d5aa9ba493040044443b541fe7f2213d8
parentf2ac74961f26b33168a453df2d3ec1dfa49b3f0d
aoe: kernel thread handles I/O completions for simple locking

Make the frames the aoe driver uses to track the relationship between bios
and packets more flexible and detached, so that they can be passed to an
"aoe_ktio" thread for completion of I/O.

The frames are handled much like skbs, with a capped amount of
preallocation so that real-world use cases are likely to run smoothly and
degenerate gracefully even under memory pressure.

Decoupling I/O completion from the receive path and serializing it in a
process makes it easier to think about the correctness of the locking in
the driver, especially in the case of a remote MAC address becoming
unusable.

Signed-off-by: Ed Cashin <ecashin@coraid.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/block/aoe/aoe.h
drivers/block/aoe/aoechr.c
drivers/block/aoe/aoecmd.c
drivers/block/aoe/aoedev.c
drivers/block/aoe/aoemain.c
drivers/block/aoe/aoenet.c