Hi Hannes, Here is what I intend to queue for 5.7. I didn't hear from you on the need to protect the object request list, the impact of image request state_mutex on performance or the problem with queue_rq(), so I concentrated on the tail of your series and reworked the payload patch to avoid acquiring header_rwsem at least twice for each I/O. I observed the same ~25-30% improvement in some rough synthetic tests on a laptop (random 4k reads with very high queue depth in particular). I assume you did your testing on real hardware -- it would be great if you could share some details. Thanks, Ilya Hannes Reinecke (2): rbd: kill img_request kref rbd: enable multiple blk-mq queues Ilya Dryomov (3): rbd: get rid of img_request_layered_clear() rbd: acquire header_rwsem just once in rbd_queue_workfn() rbd: embed image request in blk-mq pdu drivers/block/rbd.c | 212 +++++++++++++++++--------------------------- 1 file changed, 79 insertions(+), 133 deletions(-) -- 2.19.2