]> git.karo-electronics.de Git - karo-tx-linux.git/commit
aoe: kernel thread handles I/O completions for simple locking
authorEd Cashin <ecashin@coraid.com>
Thu, 13 Sep 2012 01:01:33 +0000 (11:01 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 20 Sep 2012 07:05:28 +0000 (17:05 +1000)
commit4c20ff6e1ef41f8020b5a28c5c38fa2610265634
tree34d72f19c03745a48569e35b864d6966fd6970df
parent518985abcf34ddeda808c79d24a2e6cd4719c7b4
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