From: Christoph Hellwig <hch@lst.de>
To: Nilay Shroff <nilay@linux.ibm.com>
Cc: Damien Le Moal <dlemoal@kernel.org>, Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
Christoph Hellwig <hch@lst.de>, Keith Busch <kbusch@kernel.org>,
Sagi Grimberg <sagi@grimberg.me>, Ming Lei <ming.lei@redhat.com>
Subject: Re: [PATCH 1/3] block: Fix sysfs queue freeze and limits lock order
Date: Mon, 6 Jan 2025 09:27:21 +0100 [thread overview]
Message-ID: <20250106082721.GB18408@lst.de> (raw)
In-Reply-To: <977ab809-ba06-4537-b568-cc25f56b5b7a@linux.ibm.com>
On Sat, Jan 04, 2025 at 09:56:14PM +0530, Nilay Shroff wrote:
[can you please quote your mails properly, having to scroll pages of
fullquotes isn't very readable]
> > + if (entry->store) {
> > + blk_mq_freeze_queue(q);
> > + mutex_lock(&q->sysfs_lock);
> > + res = entry->store(disk, page, length);
> > + mutex_unlock(&q->sysfs_lock);
> > + blk_mq_unfreeze_queue(q);
> > + return res;
> > + }
> > +
> Can we move ->sysfs_lock before freezing queue? We follow the locking order
> of acquiring ->sysfs_lock before freeze lock. For instance, we've these
> call sites (elevator_disable(), elevator_switch()) where we first acquire
> ->sysfs_lock and then freezes the queue. It's OK if you think this patchset
> fixes locking order between limits lock and queue freeze and so we may address
> it in another patch.
sysfs_lock as-is doesn't make much sense. The sysfs (actually kernfs)
core already serializes ->store and ->show calls vs themselves and
attribute removal, and the limits lock protects the actual limits.
The problem is that the block code also abuses the lock for various
other things, so this is non-trivial.
What I've done in my version of the series is to drop it just for the
limits method for now.
next prev parent reply other threads:[~2025-01-06 8:27 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-04 13:25 [PATCH 0/3] Fix queue freeze and limit locking order Damien Le Moal
2025-01-04 13:25 ` [PATCH 1/3] block: Fix sysfs queue freeze and limits lock order Damien Le Moal
2025-01-04 16:26 ` Nilay Shroff
2025-01-06 8:27 ` Christoph Hellwig [this message]
2025-01-06 3:31 ` Ming Lei
2025-01-06 3:35 ` Damien Le Moal
2025-01-06 3:40 ` Ming Lei
2025-01-06 8:29 ` Christoph Hellwig
2025-01-06 11:15 ` Ming Lei
2025-01-06 15:29 ` Christoph Hellwig
2025-01-07 0:45 ` Ming Lei
2025-01-07 6:18 ` Christoph Hellwig
2025-01-06 8:25 ` Christoph Hellwig
2025-01-04 13:25 ` [PATCH 2/3] block: Fix __blk_mq_update_nr_hw_queues() " Damien Le Moal
2025-01-06 8:30 ` Christoph Hellwig
2025-01-06 9:58 ` Damien Le Moal
2025-01-06 10:00 ` Christoph Hellwig
2025-01-04 13:25 ` [PATCH 3/3] nvme: Fix " Damien Le Moal
2025-01-06 8:31 ` Christoph Hellwig
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=20250106082721.GB18408@lst.de \
--to=hch@lst.de \
--cc=axboe@kernel.dk \
--cc=dlemoal@kernel.org \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=ming.lei@redhat.com \
--cc=nilay@linux.ibm.com \
--cc=sagi@grimberg.me \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).