From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "ming.lei@redhat.com" <ming.lei@redhat.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"hch@infradead.org" <hch@infradead.org>,
"snitzer@redhat.com" <snitzer@redhat.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"jejb@linux.vnet.ibm.com" <jejb@linux.vnet.ibm.com>,
"loberman@redhat.com" <loberman@redhat.com>,
"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: [PATCH 1/5] blk-mq: introduce BLK_STS_DEV_RESOURCE
Date: Tue, 23 Jan 2018 16:54:02 +0000 [thread overview]
Message-ID: <1516726441.3339.16.camel@wdc.com> (raw)
In-Reply-To: <20180123164951.GG13277@ming.t460p>
On Wed, 2018-01-24 at 00:49 +0800, Ming Lei wrote:
> On Tue, Jan 23, 2018 at 04:47:11PM +0000, Bart Van Assche wrote:
> > On Wed, 2018-01-24 at 00:41 +0800, Ming Lei wrote:
> > > Could you explain where to call call_rcu()? call_rcu() can't be used in
> > > IO path at all.
> >
> > Can you explain what makes you think that call_rcu() can't be used in the
> > I/O path? As you know call_rcu() invokes a function asynchronously. From
> > Documentation/RCU/Design/Requirements/Requirements.html:
> >
> > The <tt>call_rcu()</tt> function may be used in a number of
> > situations where neither <tt>synchronize_rcu()</tt> nor
> > <tt>synchronize_rcu_expedited()</tt> would be legal,
> > including within preempt-disable code, <tt>local_bh_disable()</tt> code,
> > interrupt-disable code, and interrupt handlers.
>
> OK, suppose it is true, do you want to change most of STS_RESOURCE in
> all drivers to this way? Why can't we use the generic and simple approach
> in this patch?
Please reread my proposal. I did not propose to change any block drivers.
What I proposed is to change the blk_mq_delay_run_hw_queue() implementation
such that it uses call_rcu() instead of kblockd_mod_delayed_work_on().
That's a generic and simple approach.
Bart.
WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "ming.lei@redhat.com" <ming.lei@redhat.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"hch@infradead.org" <hch@infradead.org>,
"snitzer@redhat.com" <snitzer@redhat.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"jejb@linux.vnet.ibm.com" <jejb@linux.vnet.ibm.com>,
"loberman@redhat.com" <loberman@redhat.com>,
"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: [PATCH 1/5] blk-mq: introduce BLK_STS_DEV_RESOURCE
Date: Tue, 23 Jan 2018 16:54:02 +0000 [thread overview]
Message-ID: <1516726441.3339.16.camel@wdc.com> (raw)
In-Reply-To: <20180123164951.GG13277@ming.t460p>
T24gV2VkLCAyMDE4LTAxLTI0IGF0IDAwOjQ5ICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gT24g
VHVlLCBKYW4gMjMsIDIwMTggYXQgMDQ6NDc6MTFQTSArMDAwMCwgQmFydCBWYW4gQXNzY2hlIHdy
b3RlOg0KPiA+IE9uIFdlZCwgMjAxOC0wMS0yNCBhdCAwMDo0MSArMDgwMCwgTWluZyBMZWkgd3Jv
dGU6DQo+ID4gPiBDb3VsZCB5b3UgZXhwbGFpbiB3aGVyZSB0byBjYWxsIGNhbGxfcmN1KCk/ICBj
YWxsX3JjdSgpIGNhbid0IGJlIHVzZWQgaW4NCj4gPiA+IElPIHBhdGggYXQgYWxsLg0KPiA+IA0K
PiA+IENhbiB5b3UgZXhwbGFpbiB3aGF0IG1ha2VzIHlvdSB0aGluayB0aGF0IGNhbGxfcmN1KCkg
Y2FuJ3QgYmUgdXNlZCBpbiB0aGUNCj4gPiBJL08gcGF0aD8gQXMgeW91IGtub3cgY2FsbF9yY3Uo
KSBpbnZva2VzIGEgZnVuY3Rpb24gYXN5bmNocm9ub3VzbHkuIEZyb20NCj4gPiBEb2N1bWVudGF0
aW9uL1JDVS9EZXNpZ24vUmVxdWlyZW1lbnRzL1JlcXVpcmVtZW50cy5odG1sOg0KPiA+IA0KPiA+
ICAgVGhlIDx0dD5jYWxsX3JjdSgpPC90dD4gZnVuY3Rpb24gbWF5IGJlIHVzZWQgaW4gYSBudW1i
ZXIgb2YNCj4gPiAgIHNpdHVhdGlvbnMgd2hlcmUgbmVpdGhlciA8dHQ+c3luY2hyb25pemVfcmN1
KCk8L3R0PiBub3INCj4gPiAgIDx0dD5zeW5jaHJvbml6ZV9yY3VfZXhwZWRpdGVkKCk8L3R0PiB3
b3VsZCBiZSBsZWdhbCwNCj4gPiAgIGluY2x1ZGluZyB3aXRoaW4gcHJlZW1wdC1kaXNhYmxlIGNv
ZGUsIDx0dD5sb2NhbF9iaF9kaXNhYmxlKCk8L3R0PiBjb2RlLA0KPiA+ICAgaW50ZXJydXB0LWRp
c2FibGUgY29kZSwgYW5kIGludGVycnVwdCBoYW5kbGVycy4NCj4gDQo+IE9LLCBzdXBwb3NlIGl0
IGlzIHRydWUsIGRvIHlvdSB3YW50IHRvIGNoYW5nZSBtb3N0IG9mIFNUU19SRVNPVVJDRSBpbg0K
PiBhbGwgZHJpdmVycyB0byB0aGlzIHdheT8gV2h5IGNhbid0IHdlIHVzZSB0aGUgZ2VuZXJpYyBh
bmQgc2ltcGxlIGFwcHJvYWNoDQo+IGluIHRoaXMgcGF0Y2g/DQoNClBsZWFzZSByZXJlYWQgbXkg
cHJvcG9zYWwuIEkgZGlkIG5vdCBwcm9wb3NlIHRvIGNoYW5nZSBhbnkgYmxvY2sgZHJpdmVycy4N
CldoYXQgSSBwcm9wb3NlZCBpcyB0byBjaGFuZ2UgdGhlIGJsa19tcV9kZWxheV9ydW5faHdfcXVl
dWUoKSBpbXBsZW1lbnRhdGlvbg0Kc3VjaCB0aGF0IGl0IHVzZXMgY2FsbF9yY3UoKSBpbnN0ZWFk
IG9mIGtibG9ja2RfbW9kX2RlbGF5ZWRfd29ya19vbigpLg0KVGhhdCdzIGEgZ2VuZXJpYyBhbmQg
c2ltcGxlIGFwcHJvYWNoLg0KDQpCYXJ0Lg==
next prev parent reply other threads:[~2018-01-23 16:54 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-22 3:35 [PATCH 0/5] blk-mq & dm: fix IO hang and deal with one performance issue Ming Lei
2018-01-22 3:35 ` [PATCH 1/5] blk-mq: introduce BLK_STS_DEV_RESOURCE Ming Lei
2018-01-22 16:32 ` Christoph Hellwig
2018-01-22 16:49 ` Bart Van Assche
2018-01-22 16:49 ` Bart Van Assche
2018-01-23 0:57 ` Ming Lei
2018-01-23 16:17 ` Bart Van Assche
2018-01-23 16:26 ` Ming Lei
2018-01-23 16:37 ` Bart Van Assche
2018-01-23 16:41 ` Ming Lei
2018-01-23 16:47 ` Bart Van Assche
2018-01-23 16:47 ` Bart Van Assche
2018-01-23 16:49 ` Ming Lei
2018-01-23 16:54 ` Bart Van Assche [this message]
2018-01-23 16:54 ` Bart Van Assche
2018-01-23 16:59 ` Ming Lei
2018-01-23 16:59 ` Ming Lei
2018-01-23 22:01 ` Bart Van Assche
2018-01-23 22:01 ` Bart Van Assche
2018-01-24 2:31 ` Ming Lei
2018-01-22 3:35 ` [PATCH 2/5] dm-rq: handle dispatch exception in dm_dispatch_clone_request() Ming Lei
2018-01-22 3:35 ` Ming Lei
2018-01-22 3:35 ` [PATCH 3/5] dm-rq: return BLK_STS_* from map_request() Ming Lei
2018-01-22 3:35 ` Ming Lei
2018-01-22 5:35 ` Ming Lei
2018-01-22 3:35 ` [PATCH 4/5] blk-mq: introduce blk_get_request_notify Ming Lei
2018-01-22 10:19 ` Ming Lei
2018-01-22 17:13 ` Bart Van Assche
2018-01-22 17:13 ` Bart Van Assche
2018-01-23 1:29 ` Ming Lei
2018-01-22 3:35 ` [PATCH 5/5] dm-mpath: use blk_mq_alloc_request_notify for allocating blk-mq req 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=1516726441.3339.16.camel@wdc.com \
--to=bart.vanassche@wdc.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=martin.petersen@oracle.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.