Commits
Nitesh-Shetty/…
Name already in use
Commits on Jun 28, 2023
-
null_blk: add support for copy offload
Implementaion is based on existing read and write infrastructure. copy_max_bytes: A new configfs and module parameter is introduced, which can be used to set hardware/driver supported maximum copy limit. Suggested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
-
dm: Enable copy offload for dm-linear target
Setting copy_offload_supported flag to enable offload. Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
-
dm: Add support for copy offload
Before enabling copy for dm target, check if underlying devices and dm target support copy. Avoid split happening inside dm target. Fail early if the request needs split, currently splitting copy request is not supported. Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
-
nvmet: add copy command support for bdev and file ns
Add support for handling nvme_cmd_copy command on target. For bdev-ns we call into blkdev_copy_offload, which the block layer completes by a offloaded copy request to backend bdev or by emulating the request. For file-ns we call vfs_copy_file_range to service our request. Currently target always shows copy capability by setting NVME_CTRL_ONCS_COPY in controller ONCS. loop target has copy support, which can be used to test copy offload. Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
-
nvme: add copy offload support
Current design only supports single source range. We receive a request with REQ_OP_COPY_DST. Parse this request which consists of dst(1st) and src(2nd) bios. Form a copy command (TP 4065) trace event support for nvme_copy_cmd. Set the device copy limits to queue limits. Signed-off-by: Kanchan Joshi <joshi.k@samsung.com> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> Signed-off-by: Javier González <javier.gonz@samsung.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
-
fs, block: copy_file_range for def_blk_ops for direct block device
For direct block device opened with O_DIRECT, use copy_file_range to issue device copy offload, and fallback to generic_copy_file_range incase device copy offload capability is absent. Modify checks to allow bdevs to use copy_file_range. Suggested-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
-
For the devices which does not support copy, copy emulation is added. It is required for in-kernel users like fabrics, where file descriptor is not available and hence they can't use copy_file_range. Copy-emulation is implemented by reading from source into memory and writing to the corresponding destination asynchronously. Also emulation is used, if copy offload fails or partially completes. Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> Signed-off-by: Vincent Fu <vincent.fu@samsung.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
-
block: Add copy offload support infrastructure
Introduce blkdev_copy_offload which takes similar arguments as copy_file_range and performs copy offload between two bdevs. Introduce REQ_OP_COPY_DST, REQ_OP_COPY_SRC operation. Issue REQ_OP_COPY_DST with destination info along with taking a plug. This flows till request layer and waits for src bio to get merged. Issue REQ_OP_COPY_SRC with source info and this bio reaches request layer and merges with dst request. For any reason, if request comes to driver with either only one of src/dst info we fail the copy offload. Larger copy will be divided, based on max_copy_sectors limit. Suggested-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
-
block: Introduce queue limits for copy-offload support
Add device limits as sysfs entries, - copy_offload (RW) - copy_max_bytes (RW) - copy_max_bytes_hw (RO) Above limits help to split the copy payload in block layer. copy_offload: used for setting copy offload(1) or emulation(0). copy_max_bytes: maximum total length of copy in single payload. copy_max_bytes_hw: Reflects the device supported maximum limit. Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com> Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
Commits on Jun 27, 2023
-
Add linux-next specific files for 20230627
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
-
Revert "KEYS: asymmetric: Move sm2 code into x509_public_key"
This reverts commit e5221fa.
-
Revert "KEYS: asymmetric: Use new crypto interface without scatterlists"
This reverts commit 63ba4d6.
-
Revert "crypto: sm2 - Provide sm2_compute_z_digest when sm2 is disabled"
This reverts commit 3867cae.
-
Merge branch 'for-next/kspp' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/gustavoars/linux.git
-
Merge branch 'for-next/kspp' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/kees/linux.git
-
Merge branch 'for-next/execve' of git://git.kernel.org/pub/scm/linux/…
…kernel/git/kees/linux.git
-
Merge branch 'sysctl-next' of git://git.kernel.org/pub/scm/linux/kern…
…el/git/mcgrof/linux.git
-
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/…
…mic/linux.git # Conflicts: # arch/um/Kconfig
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/vbabka/slab.git # Conflicts: # arch/mips/configs/ci20_defconfig # mm/slab_common.c
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/krisman/unicode.git
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/rppt/memblock.git
-
Merge branch 'mhi-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/mani/mhi.git
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/srini/nvmem.git
-
Merge branch 'libnvdimm-for-next' of git://git.kernel.org/pub/scm/lin…
…ux/kernel/git/nvdimm/nvdimm.git
-
Merge branch 'rtc-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/abelloni/linux.git
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/livepatching/livepatching
-
Merge branch 'kunit' of git://git.kernel.org/pub/scm/linux/kernel/git…
…/shuah/linux-kselftest.git
-
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/…
…shuah/linux-kselftest.git
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/ebiederm/user-namespace.git
-
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/thierry.reding/linux-pwm.git