Skip to content

Commits

Permalink
Nitesh-Shetty/…
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Aug 11, 2023

  1. null_blk: add support for copy offload

    Implementation 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.
    Only request based queue mode will support for copy offload.
    Added tracefs support to copy IO tracing.
    
    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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    1485c01 View commit details
    Browse the repository at this point in the history
  2. 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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    9f0fe3b View commit details
    Browse the repository at this point in the history
  3. 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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    f44392e View commit details
    Browse the repository at this point in the history
  4. nvmet: add copy command support for bdev and file ns

    Add support for handling nvme_cmd_copy command on target.
    
    For bdev-ns if backing device supports copy offload we call device copy
    offload (blkdev_copy_offload).
    In case of partial completion from above or absence of device copy offload
    capability, we fallback to copy emulation (blkdev_copy_emulation)
    
    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.
    trace event support for nvme_cmd_copy.
    
    Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    981e652 View commit details
    Browse the repository at this point in the history
  5. nvme: add copy offload support

    Current design only supports single source range.
    We receive a request with REQ_OP_COPY_SRC.
    Parse this request which consists of src(1st) and dst(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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    7fcd192 View commit details
    Browse the repository at this point in the history
  6. 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 or the device files are not open
    with O_DIRECT.
    
    Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
    Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    1b7f035 View commit details
    Browse the repository at this point in the history
  7. fs/read_write: Enable copy_file_range for block device.

    This is a prep patch. Allow copy_file_range to work for block devices.
    Relaxing generic_copy_file_checks allows us to reuse the existing infra,
    instead of adding a new user interface for block copy offload.
    Change generic_copy_file_checks to use ->f_mapping->host for both inode_in
    and inode_out. Allow block device in generic_file_rw_checks.
    
    Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
    Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    Anuj Gupta authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    d1d65c5 View commit details
    Browse the repository at this point in the history
  8. block: add emulation for copy

    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.
    Also emulation can be used, if copy offload fails or partially completes.
    At present in kernel user of emulation is NVMe fabrics.
    
    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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    71342ad View commit details
    Browse the repository at this point in the history
  9. block: add copy offload support

    Introduce blkdev_copy_offload to perform copy offload.
    Issue REQ_OP_COPY_SRC with source info along with taking a plug.
    This flows till request layer and waits for dst bio to arrive.
    Issue REQ_OP_COPY_DST with destination info and this bio reaches request
    layer and merges with src request.
    For any reason, if a request comes to the driver with only one of src/dst
    bio, we fail the copy offload.
    
    Larger copy will be divided, based on max_copy_sectors limit.
    
    Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
    Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    c0debc6 View commit details
    Browse the repository at this point in the history
  10. Add infrastructure for copy offload in block and request layer.

    We add two new opcode REQ_OP_COPY_SRC, REQ_OP_COPY_DST.
    Since copy is a composite operation involving src and dst sectors/lba,
    each needs to be represented by a separate bio to make it compatible
    with device mapper.
    We expect caller to take a plug and send bio with source information,
    followed by bio with destination information.
    Once the src bio arrives we form a request and wait for destination
    bio. Upon arrival of destination we merge these two bio's and send
    corresponding request down to device driver.
    
    Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
    Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    f67f823 View commit details
    Browse the repository at this point in the history
  11. block: Introduce queue limits and sysfs for copy-offload support

    Add device limits as sysfs entries,
    	- copy_max_bytes (RW)
    	- copy_max_hw_bytes (RO)
    
    Above limits help to split the copy payload in block layer.
    copy_max_bytes: maximum total length of copy in single payload.
    copy_max_hw_bytes: 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>
    nj-shetty authored and intel-lab-lkp committed Aug 11, 2023
    Copy the full SHA
    c906a9a View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. Add linux-next specific files for 20230807

    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    f7dc24b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    a353409 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'for-next/kspp' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gustavoars/linux.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    9a4301d View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    090f72b View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    7e972c5 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    e20e53b View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    b4e71f9 View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    c0ff7f4 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    865a64f View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    d3a64b1 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    1e14865 View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    6f91699 View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    22a912b View commit details
    Browse the repository at this point in the history
  14. Copy the full SHA
    0290f29 View commit details
    Browse the repository at this point in the history
  15. Merge branch 'for-next/seccomp' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/kees/linux.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    733b0b4 View commit details
    Browse the repository at this point in the history
  16. Copy the full SHA
    dc97f6f View commit details
    Browse the repository at this point in the history
  17. Merge branch 'libnvdimm-for-next' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/nvdimm/nvdimm.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    5a24517 View commit details
    Browse the repository at this point in the history
  18. Copy the full SHA
    1377383 View commit details
    Browse the repository at this point in the history
  19. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/livepatching/livepatching
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    1fe6c5d View commit details
    Browse the repository at this point in the history
  20. Merge branch 'kunit' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/shuah/linux-kselftest.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    71bbafe View commit details
    Browse the repository at this point in the history
  21. Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/…

    …shuah/linux-kselftest.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    4243878 View commit details
    Browse the repository at this point in the history
  22. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/ebiederm/user-namespace.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    2122f7c View commit details
    Browse the repository at this point in the history
  23. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/thierry.reding/linux-pwm.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    508725a View commit details
    Browse the repository at this point in the history
  24. Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/linusw/linux-pinctrl.git
    sfrothwell committed Aug 7, 2023
    Copy the full SHA
    5412ebb View commit details
    Browse the repository at this point in the history
Older