|
|
Log in / Subscribe / Register

scatterlist: add new capabilities

From:  Douglas Gilbert <dgilbert-AT-interlog.com>
To:  linux-scsi-AT-vger.kernel.org, linux-block-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org
Subject:  [PATCH 0/4] scatterlist: add new capabilities
Date:  Fri, 16 Oct 2020 00:52:54 -0400
Message-ID:  <20201016045258.16246-1-dgilbert@interlog.com>
Cc:  martin.petersen-AT-oracle.com, axboe-AT-kernel.dk, bvanassche-AT-acm.org
Archive-link:  Article

Scatter-gather lists (sgl_s) are frequently used as data
carriers in the block layer. For example the SCSI and NVMe
subsystems interchange data with the block layer using
sgl_s. The sgl API is declared in <linux/scatterlist.h>

The author has extended these transient sgl use cases to
a store (i.e. ramdisk) in the scsi_debug driver. Other new
potential uses of sgl_s could be for caches. When this extra
step is taken, the need to copy between sgl_s becomes apparent.
The patchset adds sgl_copy_sgl() and a few other sgl
operations.

The existing sgl_alloc_order() function can be seen as a
replacement for vmalloc() for large, long-term allocations.
For what seems like no good reason, sgl_alloc_order()
currently restricts its total allocation to less than or
equal to 4 GiB. vmalloc() has no such restriction.

This patchset is against lk 5.9.0

Douglas Gilbert (4):
  sgl_alloc_order: remove 4 GiB limit, sgl_free() warning
  scatterlist: add sgl_copy_sgl() function
  scatterlist: add sgl_compare_sgl() function
  scatterlist: add sgl_memset()

 include/linux/scatterlist.h |  12 +++
 lib/scatterlist.c           | 204 +++++++++++++++++++++++++++++++++++-
 2 files changed, 213 insertions(+), 3 deletions(-)

-- 
2.25.1



Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds