All of lore.kernel.org
 help / color / mirror / Atom feed
* Large latency on blk_queue_enter
@ 2017-05-08 11:54 Javier González
  2017-05-08 12:27   ` Ming Lei
  0 siblings, 1 reply; 26+ messages in thread
From: Javier González @ 2017-05-08 11:54 UTC (permalink / raw)
  To: Jens Axboe, Christoph Hellwig, Dan Williams
  Cc: linux-block, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1437 bytes --]

Hi,

I find an unusual added latency(~20-30ms) on blk_queue_enter when
allocating a request directly from the NVMe driver through
nvme_alloc_request. I could use some help confirming that this is a bug
and not an expected side effect due to something else.

I can reproduce this latency consistently on LightNVM when mixing I/O
from pblk and I/O sent through an ioctl using liblightnvm, but I don't
see anything on the LightNVM side that could impact the request
allocation.

When I have a 100% read workload sent from pblk, the max. latency is
constant throughout several runs at ~80us (which is normal for the media
we are using at bs=4k, qd=1). All pblk I/Os reach the nvme_nvm_submit_io
function on lightnvm.c., which uses nvme_alloc_request. When we send a
command from user space through an ioctl, then the max latency goes up
to ~20-30ms. This happens independently from the actual command
(IN/OUT). I tracked down the added latency down to the call
percpu_ref_tryget_live in blk_queue_enter. Seems that the queue
reference counter is not released as it should through blk_queue_exit in
blk_mq_alloc_request. For reference, all ioctl I/Os reach the
nvme_nvm_submit_user_cmd on lightnvm.c

Do you have any idea about why this might happen? I can dig more into
it, but first I wanted to make sure that I am not missing any obvious
assumption, which would explain the reference counter to be held for a
longer time.

Thanks!
Javier


[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

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

end of thread, other threads:[~2017-05-09 14:21 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-08 11:54 Large latency on blk_queue_enter Javier González
2017-05-08 12:27 ` Ming Lei
2017-05-08 12:27   ` Ming Lei
2017-05-08 13:44   ` Javier González
2017-05-08 14:13     ` Jens Axboe
2017-05-08 14:13       ` Jens Axboe
2017-05-08 14:20       ` Javier González
2017-05-08 14:23         ` Jens Axboe
2017-05-08 14:23           ` Jens Axboe
2017-05-08 14:46           ` Javier González
2017-05-08 14:52             ` Jens Axboe
2017-05-08 15:02               ` Javier González
2017-05-08 15:08                 ` Jens Axboe
2017-05-08 15:14                   ` Jens Axboe
2017-05-08 15:22                     ` Javier González
2017-05-08 15:25                       ` Jens Axboe
2017-05-08 15:38                         ` Javier González
2017-05-08 15:40                           ` Jens Axboe
2017-05-08 15:49                             ` Javier González
2017-05-08 16:06                               ` Jens Axboe
2017-05-08 16:39                                 ` Javier González
2017-05-09 10:34                                   ` Javier González
2017-05-09 10:58                                     ` Ming Lei
2017-05-09 10:58                                       ` Ming Lei
2017-05-09 11:21                                       ` Javier González
2017-05-09 14:21                                         ` Javier González

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.