RFC I/OAT DMA support and TCP acceleration
Get series with b4
b4 am 1135142250.13781.17.camel@cleech-moblVersions newest first
- v1 RFC Latest5 patches 3 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | I/OAT DMA support and TCP accelerationdrivers/ drivers/ drivers/ +3 more | +651 | 1 reply | |
| 2/5 | I/OAT DMA support and TCP accelerationnet/ | +97 | 0 replies | |
| 3/5 | I/OAT DMA support and TCP accelerationnet/ net/ | +412 | 0 replies | |
| 4/5 | I/OAT DMA support and TCP accelerationinclude/ include/ include/ +5 more | +35 | 4 replies | |
| 5/5 | I/OAT DMA support and TCP accelerationnet/ net/ net/ | +202 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC][PATCH 0/5] I/OAT DMA support and TCP acceleration
Following up on the I/OAT patches that Andy posted on Nov 23, these address some of the style concerns, add descriptive comments (kdoc style) to many functions, remove some dead code, and most importantly include our TCP recv offload changes.
This patch set does not include the driver for the I/OAT DMA hardware.
There are 5 patches
1) DMA subsystem
2) Networking subsystem DMA client
3) sk_buff to iovec copy helper functions
4) structure changes for TCP recv copy offload
5) main TCP recv copy offload changes
As always, comments are welcome and encouraged. I'm continuing to work on incorporating suggestions, including the comments Deepak Saxena posted to lkml earlier today.
The class code hasn't changed since the previous code postings, but I think I'm making progress in figuring that out :)
I'm also looking at simplifying the DMA subsystem by removing DMA devices in favor of only working with channels. The idea of having devices which provide multiple channels can be managed within drivers, without complicating the client API. That should reduce the length of some of the dereference chains.
Chris Leech <[email protected]>
I/O Acceleration Technology Software Development
LAN Access Division / Digital Enterprise Group
--- drivers/Kconfig | 2 drivers/Makefile | 1 drivers/dma/Kconfig | 34 +++ drivers/dma/Makefile | 3 drivers/dma/dmaengine.c | 391 +++++++++++++++++++++++++++++++++++++++++ include/linux/dmaengine.h | 220 +++++++++++++++++++++++ include/linux/skbuff.h | 5 include/linux/tcp.h | 9 include/net/tcp.h | 10 + net/core/Makefile | 3 net/core/dev.c | 97 ++++++++++ net/core/skbuff.c | 1 net/core/user_dma.c | 410 ++++++++++++++++++++++++++++++++++++++++++++ net/ipv4/tcp.c | 177 ++++++++++++++---- net/ipv4/tcp_input.c | 63 ++++++ net/ipv4/tcp_ipv4.c | 20 ++ net/ipv4/tcp_minisocks.c | 1 net/ipv6/tcp_ipv6.c | 1 18 files changed, 1397 insertions(+), 51 deletions(-)