From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "dm-devel@redhat.com" <dm-devel@redhat.com>,
"axboe@fb.com" <axboe@fb.com>,
"ming.lei@redhat.com" <ming.lei@redhat.com>,
"snitzer@redhat.com" <snitzer@redhat.com>
Cc: Bart Van Assche <Bart.VanAssche@wdc.com>,
"hch@infradead.org" <hch@infradead.org>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"loberman@redhat.com" <loberman@redhat.com>
Subject: Re: [PATCH] dm-mpath: return DM_MAPIO_REQUEUE in case of rq allocation failure
Date: Fri, 22 Sep 2017 15:06:16 +0000 [thread overview]
Message-ID: <1506092775.2512.5.camel@wdc.com> (raw)
In-Reply-To: <20170922013506.22510-1-ming.lei@redhat.com>
On Fri, 2017-09-22 at 09:35 +0800, Ming Lei wrote:
> + /*
> + * blk-mq's SCHED_RESTART can cover this requeue, so
> + * we needn't to deal with it by DELAY_REQUEUE. More
> + * importantly, we have to return DM_MAPIO_REQUEUE
> + * so that blk-mq can get the queue busy feedback,
> + * otherwise I/O merge can be hurt.
> + */
> + if (q->mq_ops)
> + return DM_MAPIO_REQUEUE;
> + else
> + return DM_MAPIO_DELAY_REQUEUE;
> }
This patch is inferior to what I posted because this patch does not avoid
the delay if multiple LUNs are associated with the same SCSI host. Consider
e.g. the following configuration:
* A single SCSI host with two SCSI LUNs associated to that host, e.g. /dev/sda
and /dev/sdb.
* A dm-mpath instance has been created on top of /dev/sda.
If all tags are in use by requests queued to /dev/sdb, no dm requests are in
progress and a request is submitted against the dm-mpath device then the
blk_get_request(q, GFP_ATOMIC) call will fail. The request will be requeued
and the queue will be rerun after a delay.
My patch does not introduce a delay in this case.
Bart.
WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "dm-devel@redhat.com" <dm-devel@redhat.com>,
"axboe@fb.com" <axboe@fb.com>,
"ming.lei@redhat.com" <ming.lei@redhat.com>,
"snitzer@redhat.com" <snitzer@redhat.com>
Cc: Bart Van Assche <Bart.VanAssche@wdc.com>,
"hch@infradead.org" <hch@infradead.org>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"loberman@redhat.com" <loberman@redhat.com>
Subject: Re: [PATCH] dm-mpath: return DM_MAPIO_REQUEUE in case of rq allocation failure
Date: Fri, 22 Sep 2017 15:06:16 +0000 [thread overview]
Message-ID: <1506092775.2512.5.camel@wdc.com> (raw)
In-Reply-To: <20170922013506.22510-1-ming.lei@redhat.com>
T24gRnJpLCAyMDE3LTA5LTIyIGF0IDA5OjM1ICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gKwkJ
LyoNCj4gKwkJICogYmxrLW1xJ3MgU0NIRURfUkVTVEFSVCBjYW4gY292ZXIgdGhpcyByZXF1ZXVl
LCBzbw0KPiArCQkgKiB3ZSBuZWVkbid0IHRvIGRlYWwgd2l0aCBpdCBieSBERUxBWV9SRVFVRVVF
LiBNb3JlDQo+ICsJCSAqIGltcG9ydGFudGx5LCB3ZSBoYXZlIHRvIHJldHVybiBETV9NQVBJT19S
RVFVRVVFDQo+ICsJCSAqIHNvIHRoYXQgYmxrLW1xIGNhbiBnZXQgdGhlIHF1ZXVlIGJ1c3kgZmVl
ZGJhY2ssDQo+ICsJCSAqIG90aGVyd2lzZSBJL08gbWVyZ2UgY2FuIGJlIGh1cnQuDQo+ICsJCSAq
Lw0KPiArCQlpZiAocS0+bXFfb3BzKQ0KPiArCQkJcmV0dXJuIERNX01BUElPX1JFUVVFVUU7DQo+
ICsJCWVsc2UNCj4gKwkJCXJldHVybiBETV9NQVBJT19ERUxBWV9SRVFVRVVFOw0KPiAgCX0NCg0K
VGhpcyBwYXRjaCBpcyBpbmZlcmlvciB0byB3aGF0IEkgcG9zdGVkIGJlY2F1c2UgdGhpcyBwYXRj
aCBkb2VzIG5vdCBhdm9pZA0KdGhlIGRlbGF5IGlmIG11bHRpcGxlIExVTnMgYXJlIGFzc29jaWF0
ZWQgd2l0aCB0aGUgc2FtZSBTQ1NJIGhvc3QuIENvbnNpZGVyDQplLmcuIHRoZSBmb2xsb3dpbmcg
Y29uZmlndXJhdGlvbjoNCiogQSBzaW5nbGUgU0NTSSBob3N0IHdpdGggdHdvIFNDU0kgTFVOcyBh
c3NvY2lhdGVkIHRvIHRoYXQgaG9zdCwgZS5nLiAvZGV2L3NkYQ0KICBhbmQgL2Rldi9zZGIuDQoq
IEEgZG0tbXBhdGggaW5zdGFuY2UgaGFzIGJlZW4gY3JlYXRlZCBvbiB0b3Agb2YgL2Rldi9zZGEu
DQpJZiBhbGwgdGFncyBhcmUgaW4gdXNlIGJ5IHJlcXVlc3RzIHF1ZXVlZCB0byAvZGV2L3NkYiwg
bm8gZG0gcmVxdWVzdHMgYXJlIGluDQpwcm9ncmVzcyBhbmQgYSByZXF1ZXN0IGlzIHN1Ym1pdHRl
ZCBhZ2FpbnN0IHRoZSBkbS1tcGF0aCBkZXZpY2UgdGhlbiB0aGUNCmJsa19nZXRfcmVxdWVzdChx
LCBHRlBfQVRPTUlDKSBjYWxsIHdpbGwgZmFpbC4gVGhlIHJlcXVlc3Qgd2lsbCBiZSByZXF1ZXVl
ZA0KYW5kIHRoZSBxdWV1ZSB3aWxsIGJlIHJlcnVuIGFmdGVyIGEgZGVsYXkuDQoNCk15IHBhdGNo
IGRvZXMgbm90IGludHJvZHVjZSBhIGRlbGF5IGluIHRoaXMgY2FzZS4NCg0KQmFydC4=
next prev parent reply other threads:[~2017-09-22 15:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-22 1:35 [PATCH] dm-mpath: return DM_MAPIO_REQUEUE in case of rq allocation failure Ming Lei
2017-09-22 15:06 ` Bart Van Assche [this message]
2017-09-22 15:06 ` Bart Van Assche
2017-09-22 17:44 ` Ming Lei
2017-09-22 17:54 ` Bart Van Assche
2017-09-22 17:54 ` Bart Van Assche
2017-09-25 3:06 ` Ming Lei
2017-09-25 15:23 ` Bart Van Assche
2017-09-25 15:23 ` Bart Van Assche
2017-09-25 16:10 ` Ming Lei
2017-09-25 16:17 ` Mike Snitzer
2017-09-26 8:50 ` Ming Lei
2017-09-26 13:55 ` Bart Van Assche
2017-09-26 13:55 ` Bart Van Assche
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=1506092775.2512.5.camel@wdc.com \
--to=bart.vanassche@wdc.com \
--cc=axboe@fb.com \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=ming.lei@redhat.com \
--cc=snitzer@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.