All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] fix locking issues with blk-wbt parameters update
@ 2025-03-19 10:53 Nilay Shroff
  2025-03-19 10:53 ` [PATCH 1/2] block: release q->elevator_lock in ioc_qos_write Nilay Shroff
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Nilay Shroff @ 2025-03-19 10:53 UTC (permalink / raw)
  To: linux-block, cgroups
  Cc: hch, hare, ming.lei, dlemoal, axboe, tj, josef, gjoyce, lkp,
	oliver.sang

Hi,

This patchset contains two patches.

The first patch fixes a missed release of q->elevator_lock which was
mistakenly omitted in one of the return code path of ioc_qos_write.

The second patch fixes the locdep splat reported due to the incorrect
locking order between q->elevator_lock and q->rq_qos_mutex. The commit 
245618f8e45f ("block: protect wbt_lat_usec using q->elevator_lock") 
introduced q->elevator_lock to protect updates to blk-wbt parameters 
when writing to the sysfs attribute wbt_lat_usec and the cgroup attribute 
io.cost.qos. However, writes to these attributes also acquire q->rq_qos_
mutex, creating a potential circular dependency if the locking order is 
not correctly followed. This patch ensures the correct locking sequence 
to prevent such issues. Unfortunately, blktests currently lacks a test 
case for writes to these attributes, which might have caught this issue 
earlier. I plan to submit a blktest to cover these cases.

Nilay Shroff (2):
  block: release q->elevator_lock in ioc_qos_write
  block: correct locking order for protecting blk-wbt parameters

 block/blk-cgroup.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 block/blk-cgroup.h |  2 ++
 block/blk-iocost.c | 17 +++++-----------
 3 files changed, 58 insertions(+), 12 deletions(-)

-- 
2.47.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-19 17:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19 10:53 [PATCH 0/2] fix locking issues with blk-wbt parameters update Nilay Shroff
2025-03-19 10:53 ` [PATCH 1/2] block: release q->elevator_lock in ioc_qos_write Nilay Shroff
2025-03-19 12:13   ` Ming Lei
2025-03-19 10:53 ` [PATCH 2/2] block: correct locking order for protecting blk-wbt parameters Nilay Shroff
2025-03-19 17:35 ` [PATCH 0/2] fix locking issues with blk-wbt parameters update Jens Axboe

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.