Hi Linus, Even though this has fixes marked for -stable, given the size and the needed conflict resolutions this is 3.18-rc1/merge-window material. The following changes since commit dcb99fd9b08cfe1afe426af4d8d3cbc429190f15: Linux 3.14-rc7 (2014-03-16 18:51:24 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine tags/dmaengine-3.17 These patches have been languishing in my tree for a long while. The fact that I do not have the time to do proper/prompt maintenance of this tree is a primary factor in the decision to step down as dmaengine maintainer. That and the fact that the bulk of drivers/dma/ activity is going through Vinod these days. The net_dma removal has not been in -next. It has developed simple conflicts against mainline and net-next (for-3.18). I have resolved those conflicts here: git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine dmaengine-3.17+conflicts ...which is a back-merge of 3.17-rc6 and current net-next into dmaengine-3.17. I figure you would like to resolve those yourself, and that -stable would appreciate the older net_dma removal commit. This is more a heads up to Dave and Stephen that "conflicts are coming". Stephen: please remove the dmaengine tree from -next: git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine next Finally, someone scream at me if you would rather I just rebase the net_dma removal and let it soak in -next properly. Continuing thanks to Vinod for staying on top of drivers/dma/. -- Dan ---------------------------------------------------------------- dmaengine-3.17 1/ Step down as dmaengine maintainer see commit 08223d80df38 "dmaengine maintainer update" 2/ Removal of net_dma, as it has been marked 'broken' since 3.13 (commit 77873803363c "net_dma: mark broken"), without reports of performance regression. 3/ Miscellaneous fixes ---------------------------------------------------------------- Alexander Gordeev (1): ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() Andy Shevchenko (1): dmatest: prevent memory leakage on error path in thread Dan Williams (4): dmaengine maintainer update net_dma: simple removal net_dma: revert 'copied_early' net: make tcp_cleanup_rbuf private Ezequiel Garcia (4): dma: mv_xor: Add DMA API error checks dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() Manuel Schölling (1): ioat: Use time_before_jiffies() Rashika (2): drivers: dma: Mark functions as static in dma_v3.c drivers: dma: Include appropriate header file in dca.c Xuelin Shi (1): dmaengine: fix xor sources continuation Yijing Wang (1): ioat/dca: Use dev_is_pci() to check whether it is pci device Documentation/ABI/removed/net_dma | 8 + Documentation/networking/ip-sysctl.txt | 6 - MAINTAINERS | 19 +-- crypto/async_tx/async_xor.c | 3 +- drivers/dma/Kconfig | 12 -- drivers/dma/Makefile | 1 - drivers/dma/dmaengine.c | 104 ------------ drivers/dma/dmatest.c | 4 +- drivers/dma/ioat/dca.c | 13 +- drivers/dma/ioat/dma.c | 3 +- drivers/dma/ioat/dma.h | 7 - drivers/dma/ioat/dma_v2.c | 4 +- drivers/dma/ioat/dma_v3.c | 7 +- drivers/dma/iovlock.c | 280 --------------------------------- drivers/dma/mv_xor.c | 80 ++++++++-- include/linux/dmaengine.h | 22 +-- include/linux/skbuff.h | 8 +- include/linux/tcp.h | 8 - include/net/netdma.h | 32 ---- include/net/sock.h | 19 +-- include/net/tcp.h | 9 -- kernel/sysctl_binary.c | 1 - net/core/Makefile | 1 - net/core/dev.c | 10 -- net/core/sock.c | 6 - net/core/user_dma.c | 131 --------------- net/dccp/proto.c | 4 +- net/ipv4/sysctl_net_ipv4.c | 9 -- net/ipv4/tcp.c | 149 ++---------------- net/ipv4/tcp_input.c | 83 +--------- net/ipv4/tcp_ipv4.c | 18 +-- net/ipv6/tcp_ipv6.c | 13 +- net/llc/af_llc.c | 10 +- 33 files changed, 129 insertions(+), 955 deletions(-) create mode 100644 Documentation/ABI/removed/net_dma delete mode 100644 drivers/dma/iovlock.c delete mode 100644 include/net/netdma.h delete mode 100644 net/core/user_dma.c Full log: commit 3f334078567245429540e6461c81c749fce87f70 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 17:12:07 2013 -0800 net: make tcp_cleanup_rbuf private net_dma was the only external user so this can become local to tcp.c again. Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d27f9bc104375a0a835cf68bb88fc9cec69125da Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 11:37:15 2013 -0800 net_dma: revert 'copied_early' Now that tcp_dma_try_early_copy() is gone nothing ever sets copied_early. Also reverts "53240c208776 tcp: Fix possible double-ack w/ user dma" since it is no longer necessary. Cc: Ali Saidi <saidi@xxxxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7bced397510ab569d31de4c70b39e13355046387 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 12:37:29 2013 -0800 net_dma: simple removal Per commit "77873803363c net_dma: mark broken" net_dma is no longer used and there is no plan to fix it. This is the mechanical removal of bits in CONFIG_NET_DMA ifdef guards. Reverting the remainder of the net_dma induced changes is deferred to subsequent patches. Marked for stable due to Roman's report of a memory leak in dma_pin_iovec_pages(): https://lkml.org/lkml/2014/9/3/177 Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: David Whipple <whipple@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 08223d80df38e666a42d7c82eb340db55c6e03bd Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Aug 19 06:07:56 2014 -0700 dmaengine maintainer update I am stepping down as dmaengine maintainer as the bulk of the activity in the subsystem is primarily targeted at the slave-dma case handled by Vinod, and I have recently been unable to give the few patches I do receive timely review. There is still an item in my backlog to eliminate the async_tx api and the constraints it poses on dmaengine drivers, but I need not hold on to the maintainer role in the meantime. I will still be subscribed to dmaengine@xxxxxxxxxxxxxxx to answer questions, but all patches should be routed through Vinod unless/until a maintainer for the non-slave-dma use case arrives. It is non-entirely clear at this point that there is enough work going forward for a separate maintainer of the pure-offload case. Ongoing development of the ioatdma driver is handled by Dave. I'm still interested in reviewing ioatdma patches, but he is the primary maintainer/developer going forward. IOP platforms are not generating any traffic in my inbox, but if a patch did arrive I've long since lost access to hardware. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8e1f50d7433b9a6e52cb296943f53c3ce8189ea5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 22 15:19:44 2014 +0300 dmatest: prevent memory leakage on error path in thread When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or dst_cnt great than 1 we leak memory on error path. This patch fixes the issue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e628ce70cae5ccd67830b0e2c3d038831746d86b Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Thu May 22 22:11:06 2014 +0200 ioat: Use time_before_jiffies() To be future-proof and for better readability the time comparisons are modified to use time_before_jiffies() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> [djbw: use time_before_jiffies() to make argument order more clear] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 87cea76384257e6ac3fa4791b6a6b9d0335f7457 Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Date: Tue Jul 1 16:32:38 2014 +0800 dmaengine: fix xor sources continuation the partial xor result must be kept until the next tx is generated. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit fbeec99ad5c03060ba71c470ac373e24e23a80e0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:47 2014 -0300 dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() Now that mv_xor_slot_cleanup() has no remaining callers, we remove it and rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup(). We take this opportunity to add a comment that makes it clear that the channel spinlock should be held before calling mv_xor_slot_cleanup(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e43147acba6f64ba32664dd0e590657cc49b6940 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:46 2014 -0300 dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() In order to simplify the code, remove all the calls to the locked mv_xor_slot_cleanup() and instead use the unlocked version only, It's less error prone to have just one function, and require the caller to ensure proper locking. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 890766d278548afdc059cd977687c4f1297d72a0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:45 2014 -0300 dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call In mv_xor_status(), we are currently calling mv_xor_clean_completed_slots() when the transaction is complete (the cookie status is DMA_COMPLETE). However, a completed status means that mv_xor_slot_cleanup() was called, which cleans the completed slots. In other words, there's nothing to cleanup for a completed transaction in mv_xor_status(). Remove the unneeded call to mv_xor_clean_completed_slots(). Reported-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 368da992b93eaf8861f1ef2d27bbe22c01140733 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Mar 6 21:11:21 2014 +0100 ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Function pci_enable_msix() returns a tri-state value while pci_enable_msi_exact() is a canonical zero/-errno variant. The former is being phased out in favor of the latter. In case of 'ioat' there (should be) no difference. Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2358b820d42a33f1d1052b438489c90a4cc8f3fc Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:44:39 2013 +0530 drivers: dma: Include appropriate header file in dca.c Includes an appropriate header file dma_v2.h in ioat/dca.c because functions ioat2_dca_init() and ioat3_dca_init() have their function declarations in dma_v2.h. This eliminates the following warning in ioat/dca.c: drivers/dma/ioat/dca.c:410:22: warning: no previous prototype for ‘ioat2_dca_init’ [-Wmissing-prototypes] drivers/dma/ioat/dca.c:624:22: warning: no previous prototype for ‘ioat3_dca_init’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8d1d32767ca0df1b5cd75cdc1be3915bc6887ed1 Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:40:40 2013 +0530 drivers: dma: Mark functions as static in dma_v3.c Mark the functions ioat3_prep_xor_val(), ioat3_prep_pq_val() and ioat3_prep_pqxor_val() as static in dma_v3.c because they are not used outside this file. This eliminates the following warnings in dma_v3.c: drivers/dma/ioat/dma_v3.c:741:1: warning: no previous prototype for ‘ioat3_prep_xor_val’ [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1092:1: warning: no previous prototype for ‘ioat3_prep_pq_val’ [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1134:1: warning: no previous prototype for ‘ioat3_prep_pqxor_val’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b8c01d259a08d75c5049b2bd5f579648262c30a4 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 10 09:32:37 2013 -0300 dma: mv_xor: Add DMA API error checks This commit adds proper error checking for various DMA API calls, as reported by DMA_API_DEBUG=y. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 1fde2548460c1ded9fe71220b506473f0b7de768 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Thu Dec 5 19:31:18 2013 +0800 ioat/dca: Use dev_is_pci() to check whether it is pci device Use PCI standard marco dev_is_pci() instead of directly compare pci_bus_type to check whether it is pci device. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
Attachment:
signature.asc
Description: This is a digitally signed message part