[GIT PULL] dmaengine-3.17, close my dmaengine tree

From: Dan Williams
Date: Sun Sep 28 2014 - 12:45:20 EST


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