From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Bart Van Assche To: "tj@kernel.org" CC: "hch@lst.de" , "linux-block@vger.kernel.org" , "axboe@kernel.dk" Subject: Re: [PATCH v2] blk-mq: Fix race between resetting the timer and completion handling Date: Wed, 14 Feb 2018 16:58:56 +0000 Message-ID: <1518627534.3147.6.camel@wdc.com> References: <20180207011133.25957-1-bart.vanassche@wdc.com> <20180207170612.GB695913@devbig577.frc2.facebook.com> <1518024428.2870.35.camel@wdc.com> <20180207173531.GC695913@devbig577.frc2.facebook.com> <1518027251.2870.53.camel@wdc.com> <20180207200724.GD695913@devbig577.frc2.facebook.com> <1518047297.2870.80.camel@wdc.com> <1518052193.2870.90.camel@wdc.com> <20180208153940.GM695913@devbig577.frc2.facebook.com> <1518107501.3611.19.camel@wdc.com> <20180213212044.GS695913@devbig577.frc2.facebook.com> In-Reply-To: <20180213212044.GS695913@devbig577.frc2.facebook.com> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 List-ID: T24gVHVlLCAyMDE4LTAyLTEzIGF0IDEzOjIwIC0wODAwLCB0akBrZXJuZWwub3JnIHdyb3RlOg0K PiBPbiBUaHUsIEZlYiAwOCwgMjAxOCBhdCAwNDozMTo0M1BNICswMDAwLCBCYXJ0IFZhbiBBc3Nj aGUgd3JvdGU6DQo+ID4gVGhlIGNyYXNoIGlzIHJlcG9ydGVkIGF0IGFkZHJlc3Mgc2NzaV90aW1l c19vdXQrMHgxNyA9PSBzY3NpX3RpbWVzX291dCsyMy4gVGhlDQo+ID4gaW5zdHJ1Y3Rpb24gYXQg dGhhdCBhZGRyZXNzIHRyaWVzIHRvIGRlcmVmZXJlbmNlIHNjc2lfY21uZC5kZXZpY2UgKCVyYXgp LiBUaGUNCj4gPiByZWdpc3RlciBkdW1wIHNob3dzIHRoYXQgdGhhdCBwb2ludGVyIGhhcyB0aGUg dmFsdWUgTlVMTC4gVGhlIG9ubHkgZnVuY3Rpb24gSQ0KPiA+IGtub3cgb2YgdGhhdCBjbGVhcnMg dGhlIHNjc2lfY21uZC5kZXZpY2UgcG9pbnRlciBpcyBzY3NpX3JlcV9pbml0KCkuIFRoZSBvbmx5 DQo+ID4gY2FsbGVyIG9mIHRoYXQgZnVuY3Rpb24gaW4gdGhlIFNDU0kgY29yZSBpcyBzY3NpX2lu aXRpYWxpemVfcnEoKS4gVGhhdCBmdW5jdGlvbg0KPiA+IGhhcyB0d28gY2FsbGVycywgbmFtZWx5 IHNjc2lfaW5pdF9jb21tYW5kKCkgYW5kIGJsa19nZXRfcmVxdWVzdCgpLiBIb3dldmVyLA0KPiA+ IHRoZSBzY3NpX2NtbmQuZGV2aWNlIHBvaW50ZXIgaXMgbm90IGNsZWFyZWQgd2hlbiBhIHJlcXVl c3QgZmluaXNoZXMuIFRoaXMgaXMNCj4gPiB3aHkgSSB0aGluayB0aGF0IHRoZSBhYm92ZSBjcmFz aCByZXBvcnQgaW5kaWNhdGVzIHRoYXQgc2NzaV90aW1lc19vdXQoKSB3YXMNCj4gPiBjYWxsZWQg Zm9yIGEgcmVxdWVzdCB0aGF0IHdhcyBiZWluZyByZWluaXRpYWxpemVkIGFuZCBub3QgYnkgZGV2 aWNlIGhvdHBsdWdnaW5nLg0KPiANCj4gQ2FuIHlvdSBwbGVhc2UgZ2l2ZSB0aGUgZm9sbG93aW5n IHBhdGNoIGEgc2hvdD8gIFdoaWxlIHRpbWVvdXQgcGF0aCBpcw0KPiBzeW5jaG9ybml6aW5nIGFn YWluc3QgdGhlIGNvbXBsZXRpb24gcGF0aCAoYW5kIHRoZSBmb2xsb3dpbmcgcmUtaW5pdCkNCj4g d2hpbGUgdGFraW5nIGJhY2sgY29udHJvbCBvZiBhIHRpbWVkLW91dCByZXF1ZXN0LCBpdCB3YXNu J3QgZG9pbmcgdGhhdA0KPiB3aGlsZSBnaXZpbmcgaXQgYmFjaywgc28gdGhlIHRpbWVyIHJlZ2lz dHJhdGlvbiBjb3VsZCByYWNlIGFnYWluc3QNCj4gY29tcGxldGlvbiBhbmQgcmUtaXNzdWUuICBJ J20gc3RpbGwgbm90IHF1aXRlIHN1cmUgaG93IHRoYXQgY2FuIGxlYWQNCj4gdG8gdGhlIG9vcHMg dGhvLiAgQW55d2F5cywgd2UgbmVlZCBzb21ldGhpbmcgbGlrZSB0aGlzIG9uZSB3YXkgb3IgdGhl DQo+IG90aGVyLg0KPiANCj4gVGhpcyBpc24ndCB0aGUgZmluYWwgcGF0Y2guICBXZSBzaG91bGQg YWRkIGJhdGNoaW5nLXVwIG9mIHJjdQ0KPiBzeW5jaHJvbml6ZSBjYWxscyBzaW1pbGFyIHRvIHRo ZSBhYm9ydCBwYXRoLg0KPiANCj4gVGhhbmtzLg0KPiANCj4gZGlmZiAtLWdpdCBhL2Jsb2NrL2Js ay1tcS5jIGIvYmxvY2svYmxrLW1xLmMNCj4gaW5kZXggZGY5MzEwMi4uYjY2YWVjMyAxMDA2NDQN Cj4gLS0tIGEvYmxvY2svYmxrLW1xLmMNCj4gKysrIGIvYmxvY2svYmxrLW1xLmMNCj4gQEAgLTgx Niw3ICs4MTYsOCBAQCBzdHJ1Y3QgYmxrX21xX3RpbWVvdXRfZGF0YSB7DQo+ICAJdW5zaWduZWQg aW50IG5yX2V4cGlyZWQ7DQo+ICB9Ow0KPiAgDQo+IC1zdGF0aWMgdm9pZCBibGtfbXFfcnFfdGlt ZWRfb3V0KHN0cnVjdCByZXF1ZXN0ICpyZXEsIGJvb2wgcmVzZXJ2ZWQpDQo+ICtzdGF0aWMgdm9p ZCBibGtfbXFfcnFfdGltZWRfb3V0KHN0cnVjdCBibGtfbXFfaHdfY3R4ICpoY3R4LCBzdHJ1Y3Qg cmVxdWVzdCAqcmVxLA0KPiArCQkJCWJvb2wgcmVzZXJ2ZWQpDQo+ICB7DQo+ICAJY29uc3Qgc3Ry dWN0IGJsa19tcV9vcHMgKm9wcyA9IHJlcS0+cS0+bXFfb3BzOw0KPiAgCWVudW0gYmxrX2VoX3Rp bWVyX3JldHVybiByZXQgPSBCTEtfRUhfUkVTRVRfVElNRVI7DQo+IEBAIC04MzYsOCArODM3LDEy IEBAIHN0YXRpYyB2b2lkIGJsa19tcV9ycV90aW1lZF9vdXQoc3RydWN0IHJlcXVlc3QgKnJlcSwg Ym9vbCByZXNlcnZlZCkNCj4gIAkJICogLT5hYm9ydGVkX2dzdGF0ZSBpcyBzZXQsIHRoaXMgbWF5 IGxlYWQgdG8gaWdub3JlZA0KPiAgCQkgKiBjb21wbGV0aW9ucyBhbmQgZnVydGhlciBzcHVyaW91 cyB0aW1lb3V0cy4NCj4gIAkJICovDQo+IC0JCWJsa19tcV9ycV91cGRhdGVfYWJvcnRlZF9nc3Rh dGUocmVxLCAwKTsNCj4gIAkJYmxrX2FkZF90aW1lcihyZXEpOw0KPiArCQlpZiAoIShoY3R4LT5m bGFncyAmIEJMS19NUV9GX0JMT0NLSU5HKSkNCj4gKwkJCXN5bmNocm9uaXplX3JjdSgpOw0KPiAr CQllbHNlDQo+ICsJCQlzeW5jaHJvbml6ZV9zcmN1KGhjdHgtPnNyY3UpOw0KPiArCQlibGtfbXFf cnFfdXBkYXRlX2Fib3J0ZWRfZ3N0YXRlKHJlcSwgMCk7DQo+ICAJCWJyZWFrOw0KPiAgCWNhc2Ug QkxLX0VIX05PVF9IQU5ETEVEOg0KPiAgCQlicmVhazsNCj4gQEAgLTg5Myw3ICs4OTgsNyBAQCBz dGF0aWMgdm9pZCBibGtfbXFfdGVybWluYXRlX2V4cGlyZWQoc3RydWN0IGJsa19tcV9od19jdHgg KmhjdHgsDQo+ICAJICovDQo+ICAJaWYgKCEocnEtPnJxX2ZsYWdzICYgUlFGX01RX1RJTUVPVVRf RVhQSVJFRCkgJiYNCj4gIAkgICAgUkVBRF9PTkNFKHJxLT5nc3RhdGUpID09IHJxLT5hYm9ydGVk X2dzdGF0ZSkNCj4gLQkJYmxrX21xX3JxX3RpbWVkX291dChycSwgcmVzZXJ2ZWQpOw0KPiArCQli bGtfbXFfcnFfdGltZWRfb3V0KGhjdHgsIHJxLCByZXNlcnZlZCk7DQo+ICB9DQo+ICANCj4gIHN0 YXRpYyB2b2lkIGJsa19tcV90aW1lb3V0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0K DQpIZWxsbyBUZWp1biwNCg0KV2l0aCB0aGlzIHBhdGNoIGFwcGxpZWQgdGhlIHRlc3RzIEkgcmFu IHNvIGZhciBwYXNzLg0KDQpUaGFua3MsDQoNCkJhcnQuDQoNCg0KDQo=