All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/22] Introduce common scatterlist map function
@ 2017-04-13 22:05 ` Logan Gunthorpe
  0 siblings, 0 replies; 185+ messages in thread
From: Logan Gunthorpe @ 2017-04-13 22:05 UTC (permalink / raw)
  To: Christoph Hellwig, Martin K. Petersen, Sagi Grimberg, Jens Axboe,
	Tejun Heo, Greg Kroah-Hartman, Dan Williams, Ross Zwisler,
	Matthew Wilcox, Sumit Semwal, Ming Lin, linux-kernel,
	linux-crypto, linux-media, dri-devel, linaro-mm-sig, intel-gfx,
	linux-raid, linux-mmc, linux-nvme, linux-nvdimm, linux-scsi,
	fcoe-devel, open-iscsi, megaraidlinux.pdl, sparmaintainer, devel,
	target-devel, netdev, linux-rdma, rds-devel
  Cc: Steve Wise

Hi Everyone,

As part of my effort to enable P2P DMA transactions with PCI cards,
we've identified the need to be able to safely put IO memory into
scatterlists (and eventually other spots). This probably involves a
conversion from struct page to pfn_t but that migration is a ways off
and those decisions are yet to be made.

As an initial step in that direction, I've started cleaning up some of the
scatterlist code by trying to carve out a better defined layer between it
and it's users. The longer term goal would be to remove sg_page or replace
it with something that can potentially fail.

This patchset is the first step in that effort. I've introduced
a common function to map scatterlist memory and converted all the common
kmap(sg_page()) cases. This removes about 66 sg_page calls (of ~331).

Seeing this is a fairly large cleanup set that touches a wide swath of
the kernel I have limited the people I've sent this to. I'd suggest we look
toward merging the first patch and then I can send the individual subsystem
patches on to their respective maintainers and get them merged
independantly. (This is to avoid the conflicts I created with my last
cleanup set... Sorry) Though, I'm certainly open to other suggestions to get
it merged.

The patchset is based on v4.11-rc6 and can be found in the sg_map
branch from this git tree:

https://github.com/sbates130272/linux-p2pmem.git

Thanks,

Logan


Logan Gunthorpe (22):
  scatterlist: Introduce sg_map helper functions
  nvmet: Make use of the new sg_map helper function
  libiscsi: Make use of new the sg_map helper function
  target: Make use of the new sg_map function at 16 call sites
  drm/i915: Make use of the new sg_map helper function
  crypto: hifn_795x: Make use of the new sg_map helper function
  crypto: shash, caam: Make use of the new sg_map helper function
  crypto: chcr: Make use of the new sg_map helper function
  dm-crypt: Make use of the new sg_map helper in 4 call sites
  staging: unisys: visorbus: Make use of the new sg_map helper function
  RDS: Make use of the new sg_map helper function
  scsi: ipr, pmcraid, isci: Make use of the new sg_map helper in 4 call
    sites
  scsi: hisi_sas, mvsas, gdth: Make use of the new sg_map helper
    function
  scsi: arcmsr, ips, megaraid: Make use of the new sg_map helper
    function
  scsi: libfc, csiostor: Change to sg_copy_buffer in two drivers
  xen-blkfront: Make use of the new sg_map helper function
  mmc: sdhci: Make use of the new sg_map helper function
  mmc: spi: Make use of the new sg_map helper function
  mmc: tmio: Make use of the new sg_map helper function
  mmc: sdricoh_cs: Make use of the new sg_map helper function
  mmc: tifm_sd: Make use of the new sg_map helper function
  memstick: Make use of the new sg_map helper function

 crypto/shash.c                                  |   9 +-
 drivers/block/xen-blkfront.c                    |  33 +++++--
 drivers/crypto/caam/caamalg.c                   |   8 +-
 drivers/crypto/chelsio/chcr_algo.c              |  28 +++---
 drivers/crypto/hifn_795x.c                      |  32 ++++---
 drivers/dma-buf/dma-buf.c                       |   3 +
 drivers/gpu/drm/i915/i915_gem.c                 |  27 +++---
 drivers/md/dm-crypt.c                           |  38 +++++---
 drivers/memstick/host/jmb38x_ms.c               |  23 ++++-
 drivers/memstick/host/tifm_ms.c                 |  22 ++++-
 drivers/mmc/host/mmc_spi.c                      |  26 +++--
 drivers/mmc/host/sdhci.c                        |  35 ++++++-
 drivers/mmc/host/sdricoh_cs.c                   |  14 ++-
 drivers/mmc/host/tifm_sd.c                      |  88 +++++++++++++----
 drivers/mmc/host/tmio_mmc.h                     |  12 ++-
 drivers/mmc/host/tmio_mmc_dma.c                 |   5 +
 drivers/mmc/host/tmio_mmc_pio.c                 |  24 +++++
 drivers/nvme/target/fabrics-cmd.c               |  16 +++-
 drivers/scsi/arcmsr/arcmsr_hba.c                |  16 +++-
 drivers/scsi/csiostor/csio_scsi.c               |  54 +----------
 drivers/scsi/cxgbi/libcxgbi.c                   |   5 +
 drivers/scsi/gdth.c                             |   9 +-
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c          |  14 ++-
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c          |  13 ++-
 drivers/scsi/ipr.c                              |  27 +++---
 drivers/scsi/ips.c                              |   8 +-
 drivers/scsi/isci/request.c                     |  42 ++++----
 drivers/scsi/libfc/fc_libfc.c                   |  49 ++--------
 drivers/scsi/libiscsi_tcp.c                     |  32 ++++---
 drivers/scsi/megaraid.c                         |   9 +-
 drivers/scsi/mvsas/mv_sas.c                     |  10 +-
 drivers/scsi/pmcraid.c                          |  19 ++--
 drivers/staging/unisys/visorhba/visorhba_main.c |  12 ++-
 drivers/target/iscsi/iscsi_target.c             |  27 ++++--
 drivers/target/target_core_rd.c                 |   3 +-
 drivers/target/target_core_sbc.c                | 122 +++++++++++++++++-------
 drivers/target/target_core_transport.c          |  18 ++--
 drivers/target/target_core_user.c               |  43 ++++++---
 include/linux/scatterlist.h                     |  97 +++++++++++++++++++
 include/scsi/libiscsi_tcp.h                     |   3 +-
 include/target/target_core_backend.h            |   4 +-
 net/rds/ib_recv.c                               |  17 +++-
 42 files changed, 739 insertions(+), 357 deletions(-)

--
2.1.4
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply	[flat|nested] 185+ messages in thread

end of thread, other threads:[~2017-04-18 15:59 UTC | newest]

Thread overview: 185+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13 22:05 [PATCH 00/22] Introduce common scatterlist map function Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 01/22] scatterlist: Introduce sg_map helper functions Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:35   ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14 15:34     ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 02/22] nvmet: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  4:59   ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  5:06     ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:18       ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-13 22:05 ` [PATCH 03/22] libiscsi: Make use of new the " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:36   ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14 15:37     ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 04/22] target: Make use of the new sg_map function at 16 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 05/22] drm/i915: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18  6:44   ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18 15:44     ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 06/22] crypto: hifn_795x: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 07/22] crypto: shash, caam: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 08/22] crypto: chcr: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-15  4:53   ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-13 22:05 ` [PATCH 09/22] dm-crypt: Make use of the new sg_map helper in 4 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:39   ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14 16:03     ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-15 12:10       ` Milan Broz
2017-04-15 12:10         ` Milan Broz
2017-04-15 12:10         ` Milan Broz
2017-04-15 17:47         ` Logan Gunthorpe
2017-04-15 17:47           ` Logan Gunthorpe
2017-04-15 17:47           ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 10/22] staging: unisys: visorbus: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
     [not found]   ` <1492121135-4437-11-git-send-email-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07   ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:07   ` Kershner, David A
2017-04-14 16:07   ` Kershner, David A
2017-04-13 22:05 ` [PATCH 11/22] RDS: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 12/22] scsi: ipr, pmcraid, isci: Make use of the new sg_map helper in 4 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 13/22] scsi: hisi_sas, mvsas, gdth: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 14/22] scsi: arcmsr, ips, megaraid: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 15/22] scsi: libfc, csiostor: Change to sg_copy_buffer in two drivers Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 16/22] xen-blkfront: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18 14:13   ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:27     ` Konrad Rzeszutek Wilk
2017-04-18 14:27       ` Konrad Rzeszutek Wilk
2017-04-18 14:27       ` Konrad Rzeszutek Wilk
2017-04-18 15:42       ` Logan Gunthorpe
2017-04-18 15:42         ` Logan Gunthorpe
2017-04-18 15:42         ` Logan Gunthorpe
2017-04-18 15:50         ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:59           ` Logan Gunthorpe
2017-04-18 15:59             ` Logan Gunthorpe
2017-04-18 15:59             ` Logan Gunthorpe
2017-04-18 14:13   ` David Laight
2017-04-18 14:13   ` David Laight
     [not found]   ` <1492121135-4437-17-git-send-email-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2017-04-18 14:13     ` David Laight
2017-04-13 22:05 ` [PATCH 17/22] mmc: sdhci: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 18/22] mmc: spi: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 19/22] mmc: tmio: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 20/22] mmc: sdricoh_cs: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 21/22] mmc: tifm_sd: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 22/22] memstick: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18  8:14 ` ✓ Fi.CI.BAT: success for Introduce common scatterlist map function Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.