summaryrefslogtreecommitdiff
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 3bee1b4858b6..dcf8fce15e23 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -561,12 +561,14 @@ struct request_queue {
struct list_head flush_list;
/*
- * Protects against I/O scheduler switching, particularly when
- * updating q->elevator. Since the elevator update code path may
- * also modify q->nr_requests and wbt latency, this lock also
- * protects the sysfs attributes nr_requests and wbt_lat_usec.
- * To ensure proper locking order during an elevator update, first
- * freeze the queue, then acquire ->elevator_lock.
+ * Protects against I/O scheduler switching, particularly when updating
+ * q->elevator. Since the elevator update code path may also modify q->
+ * nr_requests and wbt latency, this lock also protects the sysfs attrs
+ * nr_requests and wbt_lat_usec. Additionally the nr_hw_queues update
+ * may modify hctx tags, reserved-tags and cpumask, so this lock also
+ * helps protect the hctx attrs. To ensure proper locking order during
+ * an elevator or nr_hw_queue update, first freeze the queue, then
+ * acquire ->elevator_lock.
*/
struct mutex elevator_lock;