Skip to content

Commits

Permalink
Sergei-Shtepa/…
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 Apr 9, 2021

  1. fix origin_map - don't split a bio for the origin device if it does n…

    …ot have registered snapshots.
    
    Signed-off-by: Sergei Shtepa <sergei.shtepa@veeam.com>
    SergeiShtepa authored and intel-lab-lkp committed Apr 9, 2021
    Copy the full SHA
    c4cc139 View commit details
    Browse the repository at this point in the history
  2. Adds blk_interposer to md.

    * The new flag DM_INTERPOSE_FLAG allows to specify that the dm target
    will be attached using blk_interposer.
    * The [interpose] option allows to specify which device will be
    attached via the interposer.
    * The connection and disconnection of the interrupter is performed in
    the functions __dm_suspend() and __dm_resume(). The flag
    DM_SUSPEND_DETACH_IP_FLAG was added for this purpose.
    * dm_submit_bio() sets BIO_INTERPOSED for each bio from the interposer.
    
    Signed-off-by: Sergei Shtepa <sergei.shtepa@veeam.com>
    SergeiShtepa authored and intel-lab-lkp committed Apr 9, 2021
    Copy the full SHA
    df79fb3 View commit details
    Browse the repository at this point in the history
  3. Adds the blk_interposers logic to __submit_bio_noacct().

    * The calling to blk_partition_remap() function has moved
    from submit_bio_checks() to submit_bio_noacct().
    * The __submit_bio() and __submit_bio_noacct_mq() functions
    have been removed and their functionality moved to
    submit_bio_noacct().
    * Added locking of the block device queue using
    the bd_interposer_lock.
    
    Signed-off-by: Sergei Shtepa <sergei.shtepa@veeam.com>
    SergeiShtepa authored and intel-lab-lkp committed Apr 9, 2021
    Copy the full SHA
    397ac13 View commit details
    Browse the repository at this point in the history
  4. Adds blk_interposer. It allows to redirect bio requests to another bl…

    …ock device.
    
    Signed-off-by: Sergei Shtepa <sergei.shtepa@veeam.com>
    SergeiShtepa authored and intel-lab-lkp committed Apr 9, 2021
    Copy the full SHA
    0112a2d View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2021

  1. Merge branch 'for-5.13/io_uring' into for-next

    * for-5.13/io_uring:
      io-wq: Fix io_wq_worker_affinity()
    axboe committed Apr 8, 2021
    Copy the full SHA
    cc2234b View commit details
    Browse the repository at this point in the history
  2. Merge branch 'for-5.13/block' into for-next

    * for-5.13/block:
      block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration
    axboe committed Apr 8, 2021
    Copy the full SHA
    ff335f3 View commit details
    Browse the repository at this point in the history
  3. block: Fix sys_ioprio_set(.which=IOPRIO_WHO_PGRP) task iteration

    do_each_pid_thread() { } while_each_pid_thread() is a double loop and
    thus break doesn't work as expected. Also, it should be used under
    tasklist_lock because otherwise we can race against change_pid() for
    PGID/SID.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/YG7Q5C4Rb5dx5GFx@hirez.programming.kicks-ass.net
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Peter Zijlstra authored and axboe committed Apr 8, 2021
    Copy the full SHA
    40c7fd3 View commit details
    Browse the repository at this point in the history
  4. io-wq: Fix io_wq_worker_affinity()

    Do not include private headers and do not frob in internals.
    
    On top of that, while the previous code restores the affinity, it
    doesn't ensure the task actually moves there if it was running,
    leading to the fun situation that it can be observed running outside
    of its allowed mask for potentially significant time.
    
    Use the proper API instead.
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/YG7QkiUzlEbW85TU@hirez.programming.kicks-ass.net
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Peter Zijlstra authored and axboe committed Apr 8, 2021
    Copy the full SHA
    5bf0bda View commit details
    Browse the repository at this point in the history
  5. Merge branch 'for-5.13/block' into for-next

    * for-5.13/block:
      block: remove disk_part_iter
      block: simplify diskstats_show
      block: simplify show_partition
      block: simplify printk_all_partitions
      block: simplify partition_overlaps
      block: simplify partition removal
      block: take bd_mutex around delete_partitions in del_gendisk
      block: refactor blk_drop_partitions
      block: move more syncing and invalidation to delete_partition
      block: remove invalidate_partition
      dasd: use bdev_disk_changed instead of blk_drop_partitions
    axboe committed Apr 8, 2021
    Copy the full SHA
    81c6a1a View commit details
    Browse the repository at this point in the history
  6. block: remove disk_part_iter

    Just open code the xa_for_each in the remaining user.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-12-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    3212135 View commit details
    Browse the repository at this point in the history
  7. block: simplify diskstats_show

    Just use xa_for_each to iterate over the partitions as there is no need
    to grab a reference to each partition.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-11-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    7fae67c View commit details
    Browse the repository at this point in the history
  8. block: simplify show_partition

    Just use xa_for_each to iterate over the partitions as there is no need
    to grab a reference to each partition.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-10-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    ecc75a9 View commit details
    Browse the repository at this point in the history
  9. block: simplify printk_all_partitions

    Just use xa_for_each to iterate over the partitions as there is no need
    to grab a reference to each partition.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-9-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    e559f58 View commit details
    Browse the repository at this point in the history
  10. block: simplify partition_overlaps

    Just use xa_for_each to iterate over the partitions as there is no need
    to grab a reference to each partition.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-8-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    e306912 View commit details
    Browse the repository at this point in the history
  11. block: simplify partition removal

    Always look up the first available entry instead of the complicated
    stateful traversal.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-7-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    6c4541a View commit details
    Browse the repository at this point in the history
  12. block: take bd_mutex around delete_partitions in del_gendisk

    There is nothing preventing an ioctl from trying do delete partition
    concurrenly with del_gendisk, so take open_mutex to serialize against
    that.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-6-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    c76f48e View commit details
    Browse the repository at this point in the history
  13. block: refactor blk_drop_partitions

    Move the busy check and disk-wide sync into the only caller, so that
    the remainder can be shared with del_gendisk.  Also pass the gendisk
    instead of the bdev as that is all that is needed.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-5-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    d3c4a43 View commit details
    Browse the repository at this point in the history
  14. block: move more syncing and invalidation to delete_partition

    Move the calls to fsync_bdev and __invalidate_device from del_gendisk to
    delete_partition.  For the other two callers that check that there are
    no openers for the delete partitions(s) the callouts are a no-op as no
    file system can be mounted, but this keeps all the cleanup in one
    place.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-4-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    473338b View commit details
    Browse the repository at this point in the history
  15. block: remove invalidate_partition

    invalidate_partition has two callers, one of which already performs
    the remove_inode_hash just after the call.  Just open code the
    function in the two callsites.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406062303.811835-3-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    4561183 View commit details
    Browse the repository at this point in the history
  16. dasd: use bdev_disk_changed instead of blk_drop_partitions

    Use the more general interface - the behavior is the same except
    that now a change uevent is sent, which is the right thing to do
    when the device becomes unusable.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Stefan Haberland <sth@linux.ibm.com>
    Link: https://lore.kernel.org/r/20210406062303.811835-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Christoph Hellwig authored and axboe committed Apr 8, 2021
    Copy the full SHA
    b896fa8 View commit details
    Browse the repository at this point in the history
  17. Merge branch 'for-5.13/drivers' into for-next

    * for-5.13/drivers:
      md: split mddev_find
      md: factor out a mddev_find_locked helper from mddev_find
      md: md_open returns -EBUSY when entering racing area
    axboe committed Apr 8, 2021
    Copy the full SHA
    fc9c82b View commit details
    Browse the repository at this point in the history
  18. Merge branch 'md-next' of https://git.kernel.org/pub/scm/linux/kernel…

    …/git/song/md into for-5.13/drivers
    
    Pull MD updates from Song:
    
    "These patches fix a race condition with md_release() and md_open()."
    
    * 'md-next' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md:
      md: split mddev_find
      md: factor out a mddev_find_locked helper from mddev_find
      md: md_open returns -EBUSY when entering racing area
    axboe committed Apr 8, 2021
    Copy the full SHA
    ff91763 View commit details
    Browse the repository at this point in the history
  19. md: split mddev_find

    Split mddev_find into a simple mddev_find that just finds an existing
    mddev by the unit number, and a more complicated mddev_find that deals
    with find or allocating a mddev.
    
    This turns out to fix this bug reported by Zhao Heming.
    
    ----------------------------- snip ------------------------------
    commit d337482 ("md: make devices disappear when they are no longer
    needed.") introduced protection between mddev creating & removing. The
    md_open shouldn't create mddev when all_mddevs list doesn't contain
    mddev. With currently code logic, there will be very easy to trigger
    soft lockup in non-preempt env.
    
    *** env ***
    kvm-qemu VM 2C1G with 2 iscsi luns
    kernel should be non-preempt
    
    *** script ***
    
    about trigger 1 time with 10 tests
    
    `1  node1="15sp3-mdcluster1"
    2  node2="15sp3-mdcluster2"
    3
    4  mdadm -Ss
    5  ssh ${node2} "mdadm -Ss"
    6  wipefs -a /dev/sda /dev/sdb
    7  mdadm -CR /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sda \
       /dev/sdb --assume-clean
    8
    9  for i in {1..100}; do
    10    echo ==== $i ====;
    11
    12    echo "test  ...."
    13    ssh ${node2} "mdadm -A /dev/md0 /dev/sda /dev/sdb"
    14    sleep 1
    15
    16    echo "clean  ....."
    17    ssh ${node2} "mdadm -Ss"
    18 done
    `
    I use mdcluster env to trigger soft lockup, but it isn't mdcluster
    speical bug. To stop md array in mdcluster env will do more jobs than
    non-cluster array, which will leave enough time/gap to allow kernel to
    run md_open.
    
    *** stack ***
    
    `ID: 2831   TASK: ffff8dd7223b5040  CPU: 0   COMMAND: "mdadm"
     #0 [ffffa15d00a13b90] __schedule at ffffffffb8f1935f
     #1 [ffffa15d00a13ba8] exact_lock at ffffffffb8a4a66d
     #2 [ffffa15d00a13bb0] kobj_lookup at ffffffffb8c62fe3
     #3 [ffffa15d00a13c28] __blkdev_get at ffffffffb89273b9
     #4 [ffffa15d00a13c98] blkdev_get at ffffffffb8927964
     #5 [ffffa15d00a13cb0] do_dentry_open at ffffffffb88dc4b4
     torvalds#6 [ffffa15d00a13ce0] path_openat at ffffffffb88f0ccc
     torvalds#7 [ffffa15d00a13db8] do_filp_open at ffffffffb88f32bb
     torvalds#8 [ffffa15d00a13ee0] do_sys_open at ffffffffb88ddc7d
     torvalds#9 [ffffa15d00a13f38] do_syscall_64 at ffffffffb86053cb ffffffffb900008c
    
    or:
    [  884.226509]  mddev_put+0x1c/0xe0 [md_mod]
    [  884.226515]  md_open+0x3c/0xe0 [md_mod]
    [  884.226518]  __blkdev_get+0x30d/0x710
    [  884.226520]  ? bd_acquire+0xd0/0xd0
    [  884.226522]  blkdev_get+0x14/0x30
    [  884.226524]  do_dentry_open+0x204/0x3a0
    [  884.226531]  path_openat+0x2fc/0x1520
    [  884.226534]  ? seq_printf+0x4e/0x70
    [  884.226536]  do_filp_open+0x9b/0x110
    [  884.226542]  ? md_release+0x20/0x20 [md_mod]
    [  884.226543]  ? seq_read+0x1d8/0x3e0
    [  884.226545]  ? kmem_cache_alloc+0x18a/0x270
    [  884.226547]  ? do_sys_open+0x1bd/0x260
    [  884.226548]  do_sys_open+0x1bd/0x260
    [  884.226551]  do_syscall_64+0x5b/0x1e0
    [  884.226554]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    `
    *** rootcause ***
    
    "mdadm -A" (or other array assemble commands) will start a daemon "mdadm
    --monitor" by default. When "mdadm -Ss" is running, the stop action will
    wakeup "mdadm --monitor". The "--monitor" daemon will immediately get
    info from /proc/mdstat. This time mddev in kernel still exist, so
    /proc/mdstat still show md device, which makes "mdadm --monitor" to open
    /dev/md0.
    
    The previously "mdadm -Ss" is removing action, the "mdadm --monitor"
    open action will trigger md_open which is creating action. Racing is
    happening.
    
    `<thread 1>: "mdadm -Ss"
    md_release
      mddev_put deletes mddev from all_mddevs
      queue_work for mddev_delayed_delete
      at this time, "/dev/md0" is still available for opening
    
    <thread 2>: "mdadm --monitor ..."
    md_open
     + mddev_find can't find mddev of /dev/md0, and create a new mddev and
     |    return.
     + trigger "if (mddev->gendisk != bdev->bd_disk)" and return
          -ERESTARTSYS.
    `
    In non-preempt kernel, <thread 2> is occupying on current CPU. and
    mddev_delayed_delete which was created in <thread 1> also can't be
    schedule.
    
    In preempt kernel, it can also trigger above racing. But kernel doesn't
    allow one thread running on a CPU all the time. after <thread 2> running
    some time, the later "mdadm -A" (refer above script line 13) will call
    md_alloc to alloc a new gendisk for mddev. it will break md_open
    statement "if (mddev->gendisk != bdev->bd_disk)" and return 0 to caller,
    the soft lockup is broken.
    ------------------------------ snip ------------------------------
    
    Cc: stable@vger.kernel.org
    Fixes: d337482 ("md: make devices disappear when they are no longer needed.")
    Reported-by: Heming Zhao <heming.zhao@suse.com>
    Reviewed-by: Heming Zhao <heming.zhao@suse.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Song Liu <song@kernel.org>
    Christoph Hellwig authored and Song Liu committed Apr 8, 2021
    Copy the full SHA
    65aa97c View commit details
    Browse the repository at this point in the history
  20. md: factor out a mddev_find_locked helper from mddev_find

    Factor out a self-contained helper to just lookup a mddev by the dev_t
    "unit".
    
    Cc: stable@vger.kernel.org
    Reviewed-by: Heming Zhao <heming.zhao@suse.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Song Liu <song@kernel.org>
    Christoph Hellwig authored and Song Liu committed Apr 8, 2021
    Copy the full SHA
    8b57251 View commit details
    Browse the repository at this point in the history
  21. md: md_open returns -EBUSY when entering racing area

    commit d337482 ("md: make devices disappear when they are no longer
    needed.") introduced protection between mddev creating & removing. The
    md_open shouldn't create mddev when all_mddevs list doesn't contain
    mddev. With currently code logic, there will be very easy to trigger
    soft lockup in non-preempt env.
    
    This patch changes md_open returning from -ERESTARTSYS to -EBUSY, which
    will break the infinitely retry when md_open enter racing area.
    
    This patch is partly fix soft lockup issue, full fix needs mddev_find
    is split into two functions: mddev_find & mddev_find_or_alloc. And
    md_open should call new mddev_find (it only does searching job).
    
    For more detail, please refer with Christoph's "split mddev_find" patch
    in later commits.
    
    *** env ***
    kvm-qemu VM 2C1G with 2 iscsi luns
    kernel should be non-preempt
    
    *** script ***
    
    about trigger every time with below script
    
    ```
    1  node1="mdcluster1"
    2  node2="mdcluster2"
    3
    4  mdadm -Ss
    5  ssh ${node2} "mdadm -Ss"
    6  wipefs -a /dev/sda /dev/sdb
    7  mdadm -CR /dev/md0 -b clustered -e 1.2 -n 2 -l mirror /dev/sda \
       /dev/sdb --assume-clean
    8
    9  for i in {1..10}; do
    10    echo ==== $i ====;
    11
    12    echo "test  ...."
    13    ssh ${node2} "mdadm -A /dev/md0 /dev/sda /dev/sdb"
    14    sleep 1
    15
    16    echo "clean  ....."
    17    ssh ${node2} "mdadm -Ss"
    18 done
    ```
    
    I use mdcluster env to trigger soft lockup, but it isn't mdcluster
    speical bug. To stop md array in mdcluster env will do more jobs than
    non-cluster array, which will leave enough time/gap to allow kernel to
    run md_open.
    
    *** stack ***
    
    ```
    [  884.226509]  mddev_put+0x1c/0xe0 [md_mod]
    [  884.226515]  md_open+0x3c/0xe0 [md_mod]
    [  884.226518]  __blkdev_get+0x30d/0x710
    [  884.226520]  ? bd_acquire+0xd0/0xd0
    [  884.226522]  blkdev_get+0x14/0x30
    [  884.226524]  do_dentry_open+0x204/0x3a0
    [  884.226531]  path_openat+0x2fc/0x1520
    [  884.226534]  ? seq_printf+0x4e/0x70
    [  884.226536]  do_filp_open+0x9b/0x110
    [  884.226542]  ? md_release+0x20/0x20 [md_mod]
    [  884.226543]  ? seq_read+0x1d8/0x3e0
    [  884.226545]  ? kmem_cache_alloc+0x18a/0x270
    [  884.226547]  ? do_sys_open+0x1bd/0x260
    [  884.226548]  do_sys_open+0x1bd/0x260
    [  884.226551]  do_syscall_64+0x5b/0x1e0
    [  884.226554]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    ```
    
    *** rootcause ***
    
    "mdadm -A" (or other array assemble commands) will start a daemon "mdadm
    --monitor" by default. When "mdadm -Ss" is running, the stop action will
    wakeup "mdadm --monitor". The "--monitor" daemon will immediately get
    info from /proc/mdstat. This time mddev in kernel still exist, so
    /proc/mdstat still show md device, which makes "mdadm --monitor" to open
    /dev/md0.
    
    The previously "mdadm -Ss" is removing action, the "mdadm --monitor"
    open action will trigger md_open which is creating action. Racing is
    happening.
    
    ```
    <thread 1>: "mdadm -Ss"
    md_release
      mddev_put deletes mddev from all_mddevs
      queue_work for mddev_delayed_delete
      at this time, "/dev/md0" is still available for opening
    
    <thread 2>: "mdadm --monitor ..."
    md_open
     + mddev_find can't find mddev of /dev/md0, and create a new mddev and
     |    return.
     + trigger "if (mddev->gendisk != bdev->bd_disk)" and return
          -ERESTARTSYS.
    ```
    
    In non-preempt kernel, <thread 2> is occupying on current CPU. and
    mddev_delayed_delete which was created in <thread 1> also can't be
    schedule.
    
    In preempt kernel, it can also trigger above racing. But kernel doesn't
    allow one thread running on a CPU all the time. after <thread 2> running
    some time, the later "mdadm -A" (refer above script line 13) will call
    md_alloc to alloc a new gendisk for mddev. it will break md_open
    statement "if (mddev->gendisk != bdev->bd_disk)" and return 0 to caller,
    the soft lockup is broken.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Zhao Heming <heming.zhao@suse.com>
    Signed-off-by: Song Liu <song@kernel.org>
    zhaohem authored and Song Liu committed Apr 8, 2021
    Copy the full SHA
    6a4db2a View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2021

  1. Merge branch 'for-5.13/block' into for-next

    * for-5.13/block:
      blk-zoned: Remove the definition of blk_zone_start()
    axboe committed Apr 7, 2021
    Copy the full SHA
    794dda4 View commit details
    Browse the repository at this point in the history
  2. blk-zoned: Remove the definition of blk_zone_start()

    Commit e76239a ("block: add a report_zones method") removed the last
    blk_zone_start() call. Hence also remove the definition of this function.
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Damien Le Moal <damien.lemoal@wdc.com>
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20210406200820.15180-1-bvanassche@acm.org
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    bvanassche authored and axboe committed Apr 7, 2021
    Copy the full SHA
    540ad3f View commit details
    Browse the repository at this point in the history
  3. Merge branch 'for-5.13/block' into for-next

    * for-5.13/block:
      blk-mq: set default elevator as deadline in case of hctx shared tagset
    axboe committed Apr 7, 2021
    Copy the full SHA
    ec75b85 View commit details
    Browse the repository at this point in the history
  4. blk-mq: set default elevator as deadline in case of hctx shared tagset

    Yanhui found that write performance is degraded a lot after applying
    hctx shared tagset on one test machine with megaraid_sas. And turns out
    it is caused by none scheduler which becomes default elevator caused by
    hctx shared tagset patchset.
    
    Given more scsi HBAs will apply hctx shared tagset, and the similar
    performance exists for them too.
    
    So keep previous behavior by still using default mq-deadline for queues
    which apply hctx shared tagset, just like before.
    
    Fixes: 32bc15a ("blk-mq: Facilitate a shared sbitmap per tagset")
    Reported-by: Yanhui Ma <yama@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Ming Lei <ming.lei@redhat.com>
    Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Reviewed-by: John Garry <john.garry@huawei.com>
    Link: https://lore.kernel.org/r/20210406031933.767228-1-ming.lei@redhat.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Ming Lei authored and axboe committed Apr 7, 2021
    Copy the full SHA
    580dca8 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'for-5.13/libata' into for-next

    * for-5.13/libata:
      ata: ahci_tegra: Add AHCI support for Tegra186
      dt-binding: ata: tegra: Add dt-binding documentation for Tegra186
      dt-bindings: ata: tegra: Convert binding documentation to YAML
    axboe committed Apr 7, 2021
    Copy the full SHA
    f73b08b View commit details
    Browse the repository at this point in the history
  6. ata: ahci_tegra: Add AHCI support for Tegra186

    This patch adds support for AHCI-compliant Serial ATA controller
    on Tegra186 SoC.
    
    Tegra186 does not have sata-oob reset.
    Tegra186 SATA_NVOOB register filed COMMA_CNT position and width are
    different compared to Tegra210 and prior.
    
    So, this patch adds a flag has_sata_oob_rst and tegra_ahci_regs to
    SoC specific strcuture tegra_ahci_soc and updated their implementation
    accordingly.
    
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/1617758731-12380-4-git-send-email-skomatineni@nvidia.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Sowjanya Komatineni authored and axboe committed Apr 7, 2021
    Copy the full SHA
    868ed73 View commit details
    Browse the repository at this point in the history
  7. dt-binding: ata: tegra: Add dt-binding documentation for Tegra186

    This patch adds dt-bindings documentation for Tegra186 AHCI
    controller.
    
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/1617758731-12380-3-git-send-email-skomatineni@nvidia.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Sowjanya Komatineni authored and axboe committed Apr 7, 2021
    Copy the full SHA
    d843419 View commit details
    Browse the repository at this point in the history
  8. dt-bindings: ata: tegra: Convert binding documentation to YAML

    This patch converts text based dt-binding document to YAML based
    dt-binding document.
    
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/1617758731-12380-2-git-send-email-skomatineni@nvidia.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Sowjanya Komatineni authored and axboe committed Apr 7, 2021
    Copy the full SHA
    8ff35bb View commit details
    Browse the repository at this point in the history
  9. Merge branch 'for-5.13/libata' into for-next

    * for-5.13/libata:
      pata_legacy: Add `probe_mask' parameter like with ide-generic
      pata_platform: Document `pio_mask' module parameter
      pata_legacy: Properly document module parameters
      ata: ahci: ceva: Updated code by using dev_err_probe()
    axboe committed Apr 7, 2021
    Copy the full SHA
    c887239 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'for-5.13/block' into for-next

    * for-5.13/block:
      block: stop calling blk_queue_bounce for passthrough requests
      block: refactor the bounce buffering code
      block: remove BLK_BOUNCE_ISA support
      scsi: remove the unchecked_isa_dma flag
      advansys: remove ISA support
      BusLogic: reject broken old firmware that requires ISA-style bounce buffering
      Buslogic: remove ISA support
      aha1542: use a local bounce buffer
      blk-mq: Always use blk_mq_is_sbitmap_shared
      block: add sysfs entry for virt boundary mask
    axboe committed Apr 7, 2021
    Copy the full SHA
    7c4a135 View commit details
    Browse the repository at this point in the history
Older