From: Mike Snitzer <snitzer@redhat.com>
To: Bart Van Assche <Bart.VanAssche@wdc.com>
Cc: "elliott@hpe.com" <elliott@hpe.com>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"axboe@fb.com" <axboe@fb.com>,
"ming.lei@redhat.com" <ming.lei@redhat.com>,
"hch@infradead.org" <hch@infradead.org>,
"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: [PATCH V3 0/5] dm-rq: improve sequential I/O performance
Date: Sat, 13 Jan 2018 10:14:47 -0500 [thread overview]
Message-ID: <20180113151446.GB11158@redhat.com> (raw)
In-Reply-To: <20180113013705.GC7207@redhat.com>
On Fri, Jan 12 2018 at 8:37pm -0500,
Mike Snitzer <snitzer@redhat.com> wrote:
> On Fri, Jan 12 2018 at 8:00pm -0500,
> Bart Van Assche <Bart.VanAssche@wdc.com> wrote:
>
> > On Fri, 2018-01-12 at 19:52 -0500, Mike Snitzer wrote:
> > > It was 50 ms before it was 100 ms. No real explaination for these
> > > values other than they seem to make Bart's IB SRP testbed happy?
> >
> > But that constant was not introduced by me in the dm code.
>
> No actually it was (not that there's anything wrong with that):
>
> commit 06eb061f48594aa369f6e852b352410298b317a8
> Author: Bart Van Assche <bart.vanassche@sandisk.com>
> Date: Fri Apr 7 16:50:44 2017 -0700
>
> dm mpath: requeue after a small delay if blk_get_request() fails
>
> If blk_get_request() returns ENODEV then multipath_clone_and_map()
> causes a request to be requeued immediately. This can cause a kworker
> thread to spend 100% of the CPU time of a single core in
> __blk_mq_run_hw_queue() and also can cause device removal to never
> finish.
>
> Avoid this by only requeuing after a delay if blk_get_request() fails.
> Additionally, reduce the requeue delay.
>
> Cc: stable@vger.kernel.org # 4.9+
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
>
> Note that this commit actually details a different case where a
> blk_get_request() (in existing code) return of -ENODEV is a very
> compelling case to use DM_MAPIO_DELAY_REQUEUE.
>
> SO I'll revisit what is appropriate in multipath_clone_and_map() on
> Monday.
Sleep helped. I had another look and it is only the old .request_fn
blk_get_request() code that even sets -ENODEV (if blk_queue_dying).
But thankfully the blk_get_request() error handling in
multipath_clone_and_map() checks for blk_queue_dying() and will return
DM_MAPIO_DELAY_REQUEUE.
So we're all set for this case.
Mike
next prev parent reply other threads:[~2018-01-13 15:14 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-11 6:01 [PATCH V3 0/5] dm-rq: improve sequential I/O performance Ming Lei
2018-01-11 6:01 ` [PATCH V3 1/5] dm-mpath: don't call blk_mq_delay_run_hw_queue() in case of BLK_STS_RESOURCE Ming Lei
2018-01-11 6:01 ` [PATCH V3 2/5] dm-mpath: return DM_MAPIO_REQUEUE in case of rq allocation failure Ming Lei
2018-01-12 19:04 ` Bart Van Assche
2018-01-12 19:04 ` Bart Van Assche
2018-01-13 1:29 ` Ming Lei
2018-01-11 6:01 ` [PATCH V3 3/5] blk-mq: move actual issue into one helper Ming Lei
2018-01-11 22:09 ` Mike Snitzer
2018-01-11 6:01 ` [PATCH V3 4/5] blk-mq: return dispatch result to caller in blk_mq_try_issue_directly Ming Lei
2018-01-11 22:10 ` Mike Snitzer
2018-01-11 6:01 ` [PATCH V3 5/5] blk-mq: issue request directly for blk_insert_cloned_request Ming Lei
2018-01-11 22:42 ` Mike Snitzer
2018-01-11 22:07 ` [PATCH V3 0/5] dm-rq: improve sequential I/O performance Mike Snitzer
2018-01-11 22:37 ` Bart Van Assche
2018-01-11 22:37 ` Bart Van Assche
2018-01-11 22:58 ` Mike Snitzer
2018-01-11 23:27 ` Bart Van Assche
2018-01-11 23:27 ` Bart Van Assche
2018-01-12 1:43 ` Mike Snitzer
2018-01-12 1:42 ` Ming Lei
2018-01-12 1:57 ` Mike Snitzer
2018-01-12 3:33 ` Ming Lei
2018-01-12 17:18 ` Mike Snitzer
2018-01-12 17:26 ` Bart Van Assche
2018-01-12 17:26 ` Bart Van Assche
2018-01-12 17:40 ` Mike Snitzer
2018-01-12 17:46 ` Bart Van Assche
2018-01-12 17:46 ` Bart Van Assche
2018-01-12 18:06 ` Mike Snitzer
2018-01-12 18:54 ` Bart Van Assche
2018-01-12 18:54 ` Bart Van Assche
2018-01-12 19:29 ` Mike Snitzer
2018-01-12 19:53 ` Elliott, Robert (Persistent Memory)
2018-01-12 19:53 ` Elliott, Robert (Persistent Memory)
2018-01-13 0:52 ` Mike Snitzer
2018-01-13 1:00 ` Bart Van Assche
2018-01-13 1:00 ` Bart Van Assche
2018-01-13 1:37 ` Mike Snitzer
2018-01-13 15:14 ` Mike Snitzer [this message]
2018-01-12 22:31 ` Mike Snitzer
2018-01-13 15:04 ` Ming Lei
2018-01-13 15:04 ` Ming Lei
2018-01-13 15:10 ` Mike Snitzer
2018-01-12 23:17 ` Mike Snitzer
2018-01-12 23:42 ` Bart Van Assche
2018-01-12 23:42 ` Bart Van Assche
2018-01-13 0:45 ` Mike Snitzer
2018-01-13 14:34 ` Ming Lei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180113151446.GB11158@redhat.com \
--to=snitzer@redhat.com \
--cc=Bart.VanAssche@wdc.com \
--cc=axboe@fb.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=elliott@hpe.com \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=ming.lei@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.