scsi: pmcraid: use sg helper to iterate over scatterlist
Ming Lei authored

Unlike the legacy I/O path, scsi-mq preallocates a large array to hold
the scatterlist for each request. This static allocation can consume
substantial amounts of memory on modern controllers which support a
large number of concurrently outstanding requests.

To facilitate a switch to a smaller static allocation combined with a
dynamic allocation for requests that need it, we need to make sure all
SCSI drivers handle chained scatterlists correctly.

Convert remaining drivers that directly dereference the scatterlist
array to using the iterator functions.

[mkp: clarified commit message]
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
74eb7446
Name Last commit Last update
Documentation Merge branch 'akpm' (patches from Andrew)
LICENSES LICENSES: Rename other to deprecated
arch Merge branch 'akpm' (patches from Andrew)
block Merge tag 'for-5.2/block-post-20190516' of git://git.kernel.dk/linux-block
certs kexec, KEYS: Make use of platform keyring for signature verify
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
drivers scsi: pmcraid: use sg helper to iterate over scatterlist
fs Merge tag 'upstream-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs
include Merge branch 'akpm' (patches from Andrew)
init initramfs: don't free a non-existent initrd
ipc ipc: do cyclic id allocation for the ipc object.
kernel Merge branch 'akpm' (patches from Andrew)
lib slab: remove /proc/slab_allocators
mm Merge branch 'akpm' (patches from Andrew)
net treewide: prefix header search paths with $(srctree)/
samples samples: guard sub-directories with CONFIG options
scripts kconfig: use 'else ifneq' for Makefile to improve readability
security Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
sound Merge tag 'sound-fix-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
tools Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
usr user/Makefile: Fix typo and capitalization in comment section
virt Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
.clang-format Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.