All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@redhat.com>
To: Nilay Shroff <nilay@linux.ibm.com>
Cc: linux-block@vger.kernel.org, hch@lst.de, dlemoal@kernel.org,
	hare@suse.de, axboe@kernel.dk, gjoyce@ibm.com
Subject: Re: [PATCHv5 4/7] block: introduce a dedicated lock for protecting queue elevator updates
Date: Tue, 4 Mar 2025 10:23:02 +0800	[thread overview]
Message-ID: <Z8ZkBiL84hon16mD@fedora> (raw)
In-Reply-To: <20250226124006.1593985-5-nilay@linux.ibm.com>

On Wed, Feb 26, 2025 at 06:09:57PM +0530, Nilay Shroff wrote:
> A queue's elevator can be updated either when modifying nr_hw_queues
> or through the sysfs scheduler attribute. Currently, elevator switching/
> updating is protected using q->sysfs_lock, but this has led to lockdep
> splats[1] due to inconsistent lock ordering between q->sysfs_lock and
> the freeze-lock in multiple block layer call sites.
> 
> As the scope of q->sysfs_lock is not well-defined, its (mis)use has
> resulted in numerous lockdep warnings. To address this, introduce a new
> q->elevator_lock, dedicated specifically for protecting elevator
> switches/updates. And we'd now use this new q->elevator_lock instead of
> q->sysfs_lock for protecting elevator switches/updates.
> 
> While at it, make elv_iosched_load_module() a static function, as it is
> only called from elv_iosched_store(). Also, remove redundant parameters
> from elv_iosched_load_module() function signature.
> 
> [1] https://lore.kernel.org/all/67637e70.050a0220.3157ee.000c.GAE@google.com/
> 
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Hannes Reinecke <hare@suse.de>
> Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>

Reviewed-by: Ming Lei <ming.lei@redhat.com>


Thanks,
Ming


  reply	other threads:[~2025-03-04  2:23 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-26 12:39 [PATCHv5 0/7] block: fix lock order and remove redundant locking Nilay Shroff
2025-02-26 12:39 ` [PATCHv5 1/7] block: acquire q->limits_lock while reading sysfs attributes Nilay Shroff
2025-02-28  8:29   ` Ming Lei
2025-02-26 12:39 ` [PATCHv5 2/7] block: move q->sysfs_lock and queue-freeze under show/store method Nilay Shroff
2025-02-28  8:39   ` Ming Lei
2025-02-26 12:39 ` [PATCHv5 3/7] block: remove q->sysfs_lock for attributes which don't need it Nilay Shroff
2025-03-04  2:13   ` Ming Lei
2025-02-26 12:39 ` [PATCHv5 4/7] block: introduce a dedicated lock for protecting queue elevator updates Nilay Shroff
2025-03-04  2:23   ` Ming Lei [this message]
2025-02-26 12:39 ` [PATCHv5 5/7] block: protect nr_requests update using q->elevator_lock Nilay Shroff
2025-03-03 14:13   ` Christoph Hellwig
2025-03-04  2:24   ` Ming Lei
2025-02-26 12:39 ` [PATCHv5 6/7] block: protect wbt_lat_usec " Nilay Shroff
2025-03-03 14:14   ` Christoph Hellwig
2025-03-04  2:27   ` Ming Lei
2025-03-04  6:18   ` kernel test robot
2025-03-04  8:06     ` Nilay Shroff
2025-02-26 12:40 ` [PATCHv5 7/7] block: protect read_ahead_kb using q->limits_lock Nilay Shroff
2025-03-03 14:14   ` Christoph Hellwig
2025-03-04  2:31   ` Ming Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z8ZkBiL84hon16mD@fedora \
    --to=ming.lei@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=dlemoal@kernel.org \
    --cc=gjoyce@ibm.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    --cc=nilay@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.