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 1/7] block: acquire q->limits_lock while reading sysfs attributes
Date: Fri, 28 Feb 2025 16:29:22 +0800	[thread overview]
Message-ID: <Z8Fz4lWp94IRl-qA@fedora> (raw)
In-Reply-To: <20250226124006.1593985-2-nilay@linux.ibm.com>

On Wed, Feb 26, 2025 at 06:09:54PM +0530, Nilay Shroff wrote:
> There're few sysfs attributes(RW) whose store method is protected
> with q->limits_lock, however the corresponding show method of these
> attributes run holding q->sysfs_lock and that doesn't make sense
> as ideally the show method of these attributes should also run
> holding q->limits_lock instead of q->sysfs_lock. Hence update the
> show method of these sysfs attributes so that reading of these
> attributes acquire q->limits_lock instead of q->sysfs_lock.
> 
> Similarly, there're few sysfs attributes(RO) whose show method is
> currently protected with q->sysfs_lock however updates to these
> attributes could occur using atomic limit update APIs such as queue_
> limits_start_update() and queue_limits_commit_update() which run
> holding q->limits_lock. So that means that reading these attributes
> holding q->sysfs_lock doesn't make sense. Hence update the show method
> of these sysfs attributes(RO) such that they run with holding q->
> limits_lock instead of q->sysfs_lock.
> 
> We have defined a new macro QUEUE_LIM_RO_ENTRY() which uses new ->show_
> limit() method and it runs holding q->limits_lock. All existing sysfs
> attributes(RO) which needs protection using q->limits_lock while
> reading have been now updated to use this new macro for initialization.
> 
> Also, the existing QUEUE_LIM_RW_ENTRY() is updated to use new ->show_
> limit() method for reading attributes instead of existing ->show()
> method. As ->show_limit() runs holding q->limits_lock, the existing
> sysfs attributes(RW) requiring protection are now inherently protected
> using q->limits_lock instead of q->sysfs_lock.
> 
> 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-02-28  8:29 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 [this message]
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
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=Z8Fz4lWp94IRl-qA@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.