Message ID | 20210618004456.7280-7-bvanassche@acm.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improve I/O priority support | expand |
On Thu, Jun 17, 2021 at 05:44:46PM -0700, Bart Van Assche wrote: > Document the locking strategy by adding two lockdep_assert_held() > statements. > > Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> > Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> > Reviewed-by: Hannes Reinecke <hare@suse.de> > Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> > Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> > Cc: Damien Le Moal <damien.lemoal@wdc.com> > Cc: Christoph Hellwig <hch@lst.de> > Cc: Ming Lei <ming.lei@redhat.com> > Signed-off-by: Bart Van Assche <bvanassche@acm.org> > --- > block/mq-deadline.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/block/mq-deadline.c b/block/mq-deadline.c > index 31418e9ce9e2..191ff5ce629c 100644 > --- a/block/mq-deadline.c > +++ b/block/mq-deadline.c > @@ -279,6 +279,8 @@ static struct request *__dd_dispatch_request(struct deadline_data *dd) > bool reads, writes; > int data_dir; > > + lockdep_assert_held(&dd->lock); > + > if (!list_empty(&dd->dispatch)) { > rq = list_first_entry(&dd->dispatch, struct request, queuelist); > list_del_init(&rq->queuelist); > @@ -501,6 +503,8 @@ static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, > struct deadline_data *dd = q->elevator->elevator_data; > const int data_dir = rq_data_dir(rq); > > + lockdep_assert_held(&dd->lock); > + > /* > * This may be a requeue of a write request that has locked its > * target zone. If it is the case, this releases the zone lock. Looks good. Reviewed by: Adam Manzanares <a.manzanares@samsung.com>
diff --git a/block/mq-deadline.c b/block/mq-deadline.c index 31418e9ce9e2..191ff5ce629c 100644 --- a/block/mq-deadline.c +++ b/block/mq-deadline.c @@ -279,6 +279,8 @@ static struct request *__dd_dispatch_request(struct deadline_data *dd) bool reads, writes; int data_dir; + lockdep_assert_held(&dd->lock); + if (!list_empty(&dd->dispatch)) { rq = list_first_entry(&dd->dispatch, struct request, queuelist); list_del_init(&rq->queuelist); @@ -501,6 +503,8 @@ static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, struct deadline_data *dd = q->elevator->elevator_data; const int data_dir = rq_data_dir(rq); + lockdep_assert_held(&dd->lock); + /* * This may be a requeue of a write request that has locked its * target zone. If it is the case, this releases the zone lock.