From mboxrd@z Thu Jan 1 00:00:00 1970 From: majianpeng Subject: Re: Re: [RFC PATCH V1] raid1: rewrite the iobarrier Date: Wed, 20 Feb 2013 16:54:12 +0800 Message-ID: <2013022016540861404722@gmail.com> References: <2013012414023278904611@gmail.com>, <20130206131653.27d025a6@notabene.brown> Reply-To: majianpeng Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Return-path: Sender: linux-raid-owner@vger.kernel.org To: NeilBrown Cc: linux-raid List-Id: linux-raid.ids Pk9uIFRodSwgMjQgSmFuIDIwMTMgMTQ6MDI6NTIgKzA4MDAgbWFqaWFucGVuZyA8bWFqaWFucGVu Z0BnbWFpbC5jb20+IHdyb3RlOg0KPg0KPj4gVGhlcmUgaXMgaW9iYXJyaWVyIGluIHJhaWQxIGJl Y2F1c2UgdHdvIHJlYXNvbiByZXN5bmMvcmVjb3ZlcnkgIG9yIHJlY29uZmlndXJlIHRoZSBhcnJh eS4NCj4+IEF0IHByZXNlbnQsaXQgc3VzcGVuZCBhbGwgbm9ybmFsIElPIHdoZW4gcmV5c3luYy9y ZWNvdmV5Lg0KPj4gQnV0IGlmIG5vcm5hbCBJTyBpcyBvdXRyYW5nZSB0aGUgcmVzeW5jL3JlY292 ZXJ5IHdpbmR3b3MsaXQgIGRvbid0IG5lZWQgdG8gaW9iYXJyaWVyLg0KPj4gU28gSSByZXdyaXRl IHRoZSBpb2JhcnJpZXIuDQo+PiBCZWNhdXNlIHRoZSByZWFzb25zIG9mIGJhcnJpZXIgYXJlIHR3 byxzbyBpIHVzZSB0d28gZGlmZmVyZW50IG1ldGhvZHMuDQo+PiBGaXJzdCBmb3IgcmVzeW5jL3Jl Y292ZXJ5LCB0aGVyZSBpcyBhIHJleXNuYyB3aW5kb3cuVGhlIGVuZCBwb3NpdGlvbiBpcyAnbmV4 dF9yZXN5bmMnLkJlY2F1c2UgdGhlIHJlc3luYyBkZXB0aCBpcyAgUkVTWU5DX0RFUFRIKDMyKSwN Cj4+IHNvIHRoZSBzdGFydCBpcyAnbmV4dF9yZXN5bmMgLSBSRVNZTkNfU0VDVE9SICogUkVTWU5D X0RFUFRIJw0KPj4gVGhlIG5vcm5hbCBJTyBXaWxsIGJlIGRpdmlkZWQgaW50byB0aHJlZSBjYXRl Z29yaWVzIGJ5IHRoZSBsb2NhdGlvbi4NCj4+IGE6IGJlZm9yZSB0aGUgc3RhcnQgb2YgcmVzeW5j IHdpbmRvdw0KPj4gYjogYmV0d2VlbiB0aGUgcmVzeW5jIHdpbmRvdw0KPj4gYzogYWZ0ZXIgdGhl IGVuZCBvZiByZXN5bmMgd2luZG93DQo+PiBGb3IgYSwgaXQgZG9uJ3QgYmFycmllci4NCj4+IEZv ciBiLCBpdCBuZWVkIGJhcnJpZXIgYW5kIHVzZWQgdGhlIG9yaWdpbmFsIG1ldGhvZA0KPj4gRm9y IGMsIGl0IGRvbid0IGJhcnJpZXIgYnV0IGl0IG5lZWQgcmVjb3JkIHRoZSBtaW5pbXVtIHBvc2l0 aW9uLklmIG5leHQgcmVzeW5jIGlzIGxhcmdlciB0aGlzLCByZXN5bmMgYWN0aW9uIHdpbGwgc3Vz cGVuZC5PdGhlcndpc2UgdmVyc2EuDQo+PiBJIHVzZWQgcmJ0cmVlIHRvIG9yZGVyIHRob3NlIGlv Lg0KPj4gDQo+PiBGb3IgdGhlIHJlYXNvbiBvZiByZWNvbmZpZ3VyZSBvZiB0aGUgYXJyYXJ5LEkg cHJvcG9zZWQgYSBjb25jZXB0ICJmb3JjZV9iYXJyaWVyIi5XaGVuIHRoZXJlIGlzIGZvcmNlX2Jh cnJpZXIsIGFsbCBOb3JuYW0gSU8gbXVzdCBiZSBzdXNwZW5kZWQuDQo+PiANCj4+IE5PVEU6DQo+ PiBCZWNhdXNlIHRoaXMgcHJvYmxlbSBpcyBhbHNvIGZvciByYWlkMTAsIGJ1dCBpIG9ubHkgZG8g aXQgZm9yIHJhaWQxLiBJdCBpcyBwb3N0IG91dCBtYWlubHkgdG8gbWFrZSBzdXJlIGl0IGlzIA0K Pj4gZ29pbmcgaW4gdGhlIGNvcnJlY3QgZGlyZWN0aW9uIGFuZCBob3BlIHRvIGdldCBzb21lIGhl bHBmdWwgY29tbWVudHMgZnJvbSBvdGhlciBndXlzLg0KPj4gSWYgdGhlIG1ldGhvZHMgaXMgYWNj ZXB0ZWQsaSB3aWxsIHNlbmQgdGhlIHBhdGNoIGZvciByYWlkMTAuDQo+PiANCj4+IFNpZ25lZC1v ZmYtYnk6IEppYW5wZW5nIE1hIDxtYWppYW5wZW5nQGdtYWlsLmNvbT4NCj4NCj5IaSwNCj4gdGhh bmtzIGZvciB0aGlzIGFuZCBzb3JyeSBmb3IgdGhlIGRlbGF5IGluIHJlcGx5aW5nLg0KPg0KSGks IHNvcnJveSBmb3IgZGVsYXkgaW4gcmVwbHlpbmcuVGhhbmtzIHZlcnkgbXVjaCBmb3IgeW91ciBz dWdnZXN0aW9uLg0KPlRoZSBwYXRjaCBpcyByZWFzb25hYmx5IGdvb2QsIGJ1dCB0aGVyZSBpcyBy b29tIGZvciBpbXByb3ZlbWVudC4NCj5JIHdvdWxkIGJyZWFrIGl0IHVwIGludG8gc2V2ZXJhbCBw YXRjaGVzIHdoaWNoIGFyZSBlYXNpZXIgdG8gcmV2aWV3Lg0KPg0KPi0gRmlyc3RseSwgZG9uJ3Qg d29ycnkgYWJvdXQgdGhlIGJhcnJpZXIgZm9yICdyZWFkJyByZXF1ZXN0cyAtIGl0IHJlYWxseQ0K PiAgaXNuJ3QgcmVsZXZhbnQgZm9yIHRoZW0gKHlvdXIgcGF0Y2ggZGlkbid0IGRvIHRoaXMpLg0K Pg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDEuYyBiL2RyaXZlcnMvbWQvcmFpZDEuYw0K aW5kZXggYmQ2YTE4OC4uMmU1YmY3NSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWQvcmFpZDEuYw0K KysrIGIvZHJpdmVycy9tZC9yYWlkMS5jDQpAQCAtMjM1LDYgKzIzNSw3IEBAIHN0YXRpYyB2b2lk IGNhbGxfYmlvX2VuZGlvKHN0cnVjdCByMWJpbyAqcjFfYmlvKQ0KICAgICAgICBzdHJ1Y3QgYmlv ICpiaW8gPSByMV9iaW8tPm1hc3Rlcl9iaW87DQogICAgICAgIGludCBkb25lOw0KICAgICAgICBz dHJ1Y3QgcjFjb25mICpjb25mID0gcjFfYmlvLT5tZGRldi0+cHJpdmF0ZTsNCisgICAgICAgaW50 IHJ3ID0gYmlvX2RhdGFfZGlyKGJpbyk7DQogDQogICAgICAgIGlmIChiaW8tPmJpX3BoeXNfc2Vn bWVudHMpIHsNCiAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KQEAgLTI1Myw3 ICsyNTQsOCBAQCBzdGF0aWMgdm9pZCBjYWxsX2Jpb19lbmRpbyhzdHJ1Y3QgcjFiaW8gKnIxX2Jp bykNCiAgICAgICAgICAgICAgICAgKiBXYWtlIHVwIGFueSBwb3NzaWJsZSByZXN5bmMgdGhyZWFk IHRoYXQgd2FpdHMgZm9yIHRoZSBkZXZpY2UNCiAgICAgICAgICAgICAgICAgKiB0byBnbyBpZGxl Lg0KICAgICAgICAgICAgICAgICAqLw0KLSAgICAgICAgICAgICAgIGFsbG93X2JhcnJpZXIoY29u Zik7DQorICAgICAgICAgICAgICAgaWYgKHJ3ID09IFdSSVRFKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgYWxsb3dfYmFycmllcihjb25mKTsNCiAgICAgICAgfQ0KIH0NCiANCkBAIC0xMDM1LDcg KzEwMzcsOCBAQCBzdGF0aWMgdm9pZCBtYWtlX3JlcXVlc3Qoc3RydWN0IG1kZGV2ICptZGRldiwg c3RydWN0IGJpbyAqIGJpbykNCiAgICAgICAgICAgICAgICBmaW5pc2hfd2FpdCgmY29uZi0+d2Fp dF9iYXJyaWVyLCAmdyk7DQogICAgICAgIH0NCiANCi0gICAgICAgd2FpdF9iYXJyaWVyKGNvbmYp Ow0KKyAgICAgICBpZiAocncgPT0gV1JJVEUpDQorICAgICAgICAgICAgICAgd2FpdF9iYXJyaWVy KGNvbmYpOw0KIA0KICAgICAgICBiaXRtYXAgPSBtZGRldi0+Yml0bWFwOwINCg0KQWJvdmUgY29k ZSBpcyB3aGF0J3MgeW91IHNhaWQuQnV0IGl0IG1ldCByZWFkLWVycm9yLHJhaWQxZCB3aWxsIGJs b2NrZWQgZm9yIGV2ZXIuDQpUaGUgcmVhc29uIGlzIGZyZWV6ZV9hcnJheToNCj4gICAgICAgd2Fp dF9ldmVudF9sb2NrX2lycV9jbWQoY29uZi0+d2FpdF9iYXJyaWVyLA0KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uZi0+bnJfcGVuZGluZyA9PSBjb25mLT5ucl9xdWV1ZWQrMSwN CkZvciByZWFkIG9wZXJhdGlvbiwgaXQgY2FuJ3QgYWRkIG5yX3BlbmRpbmcuDQpBcmUgeW91IGhh dmUgZ29vZCBtZXRob2QgdG8gZG8gdGhpcz8NCg0KPi0gU2Vjb25kbHksIGZpbmQgdGhvc2UgcGxh Y2VzIHdoZXJlIHJhaXNlX2JhcnJpZXIoKSBpcyB1c2VkIHRvIHJlY29uZmlndXJlDQo+ICB0aGUg YXJyYXkgYW5kIHJlcGxhY2UgdGhvc2Ugd2l0aCAiZnJlZXplX2FycmF5KCkiLiAgSSB0aGluayB0 aGF0IGlzIHNhZmUsDQo+ICBhbmQgaXQgbWVhbnMgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHBhc3Mg YSAnZm9yY2UnIGFyZ3VtZW50IHRvDQo+ICAncmFpc2VfYmFycmllcigpJyBhbmQgJ2xvd2VyX2Jh cnJpZXIoKScuDQpCdXQgaXQgd2lsbCBiZSBibG9ja2VkIGZvciBldmVyLg0KVGhlIGNvbW1lbnQg b2YgZnJlZXplX2FycmF5LA0KPiAqIFRoaXMgaXMgY2FsbGVkIGluIHRoZSBjb250ZXh0IG9mIG9u ZSBub3JtYWwgSU8gcmVxdWVzdA0KPgkgKiB0aGF0IGhhcyBmYWlsZWQuDQpJbiBmcmVlemVfYXJy YXksdGhlIGp1ZGdlbWVudCBpcw0KPndhaXRfZXZlbnRfbG9ja19pcnFfY21kKGNvbmYtPndhaXRf YmFycmllciwNCj4JCQkJY29uZi0+bnJfcGVuZGluZyA9PSBjb25mLT5ucl9xdWV1ZWQrMSwNCkJl Y2F1c2UgdGhlIHBsYWNlIHdoZXJlIGNhbGwgdGhpcyBmdW5jIGluIGlvIGNvbnRleHQsc28gdGhl cmUgbXVzdCBiZSBucl9wZW5kaW5nLg0KQnV0IGZvciB0aGUgZmxhY2Ugd2hlcmUgY2FsbGVkIHJl Y29uZmlndXJlIGFycmF5IGRvbid0ICBpbiBpbyBjb250ZXh0LlNvIHRoZSBjb25kaXRpb24NCiJj b25mLT5ucl9wZW5kaW5nID09IGNvbmYtPm5yX3F1ZXVlZCsxIiBpcyBuZXZlciB0cnVlLg0KSWYg d2UgYWRkIGEgcGFyYW1ldGVyICdpbnQgaW9jb250ZXh0JyB0byBmcmVlemVfYXJyYXksIHRoYXQg aXMNCj5zdGF0aWMgdm9pZCBmcmVlemVfYXJyYXkoc3RydWN0IHIxY29uZiAqY29uZiwgaW50IGlv Y29udGV4dCkNCj5pZiAoaW9jb250ZXh0KQ0KPndhaXRfZXZlbnRfbG9ja19pcnFfY21kKGNvbmYt PndhaXRfYmFycmllciwNCj4JCQkJY29uZi0+bnJfcGVuZGluZyA9PSBjb25mLT5ucl9xdWV1ZWQr MSwNCj4gIGVsc2UNCj4gd2FpdF9ldmVudF9sb2NrX2lycV9jbWQoY29uZi0+d2FpdF9iYXJyaWVy LA0KPgkJCQljb25mLT5ucl9wZW5kaW5nID09IGNvbmYtPm5yX3F1ZXVlZCwNCg0KSG93IGFib3V0 IHRoaXMgbWV0aG9kPw0KPg0KPi0gVGhlIHJlc3QgbWlnaHQgaGF2ZSB0byBiZSBhbGwgb25lIHBh dGNoLCB0aG91Z2ggaWYgaXQgY291bGQgYmUgZG9uZSBpbiBhDQo+ICBjb3VwbGUgb2YgZGlzdGlu Y3Qgc3RhZ2VzIHRoYXQgd291bGQgYmUgZ29vZC4NCj4gIEZvciB0aGUgZGlmZmVyZW50IHBvc2l0 aW9ucyAoYmVmb3JlLCBkdXJpbmcsIGFmdGVyKSwgd2hpY2ggeW91IGN1cnJlbnRseQ0KPiAgY2Fs bCAwLCAxLCBhbmQgMiB5b3Ugc2hvdWxkIHVzZSBhbiBlbnVtIHNvIHRoZXkgYWxsIGhhdmUgbmFt ZXMuDQo+IA0KT2ssdGhhbmtzIQ0KPiAgSSBkb24ndCByZWFsbHkgbGlrZSB0aGUgcmJ0cmVlLiAg SXQgYWRkcyBhbiBleHRyYSBwbGFjZSB3aGVyZSB5b3UgdGFrZSB0aGUNCj4gIHNwaW5sb2NrIGFu ZCBjYXVzZXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgaW5zaWRlIGEgc3BpbmxvY2suICBBbmQgaXQg aXNuJ3QNCj4gIHJlYWxseSBuZWVkZWQuICBJbnN0ZWFkLCB5b3UgY2FuIGhhdmUgdHdvIFIxQklP IGZsYWdzIGZvciAiQUZURVJfUkVTWU5DIi4NCj4gIE9uZSBmb3IgcmVxdWVzdHMgdGhhdCBhcmUg bW9yZSB0aGFuIDIgd2luZG93cyBhZnRlciwgb25lIGZvciByZXF1ZXN0IHRoYXQNCj4gIGFyZSBs ZXNzIHRoZW4gMiB3aW5kb3dzIGFmdGVyIChvciBtYXliZSAzIHdpbmRvd3Mgb3IgbWF5YmUgOC4u KS4gIEVhY2ggb2YNCj4gIHRoZXNlIGhhcyBhIGNvcnJlc3BvbmRpbmcgY291bnQgKGFzIHlvdSBh bHJlYWR5IGhhdmU6IG5yX2FmdGVyKS4NCj4gIFRoZW4gd2hlbiByZXN5bmMgZ2V0cyB0byB0aGUg ZW5kIG9mIGEgd2luZG93IHlvdSB3YWl0IHVudGlsIHRoZSBjb3VudCBvZiANCkZvciByZXN5bmMg b3BlcmF0aW9uLHRoZXJlIGlzIG5vIHJlc3luYyB3aW5kb3cuSG93IHRvIGRvIHRoaXM/DQo+ICAi bGVzcyB0aGFuIDIgd2luZG93cyBhZnRlciIgcmVhY2hlcyB6ZXJvLCB0aGVuIGF0b21pY2FsbHkg c3dhcCB0aGUgbWVhbmluZw0KPiAgb2YgdGhlIHR3byBiaXRzICh0b2dnbGUgYSBiaXQgc29tZXdo ZXJlKS4NCldlIGRvbid0IGtub3cgdGhlIG5lYXJzZXQgcG9zaXRpb24gZnJvbSByZXF1ZXN0IHdo aWNoIG1vcmUgdGhhbiAyIHdpbmRvd3MgYWZ0ZXIuDQpGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIHRo cmVlIHJlcXVlc3QgYWZ0ZXIgMiB3aW5kb3dzLg0KQSBpcyBhZnRlciB0aHJlZSB3aW5kb3dzO0Ig aXMgYWZ0ZXIgc2l4IHdpbmRvd3M7IEMgaXMgYWZ0ZXIgMTEgd2luZG93cy4NCldoZW4gdGhlIGNv dW50IG9mICJsZXNzIHRoYW4gMiB3aW5kb3dzIGFmdGVyIiByZWFjaGVkIHplcm8sIGhvdyB0byBk bz8NCj4gIFRoaXMgc2hvdWxkIGdpdmUgeW91IG5lYXJseSB0aGUgc2FtZSBlZmZlY3Qgd2l0aCBj b25zdGFudCAobm90IGxvZy1uKQ0KPiAgZWZmb3J0Lg0KPg0KDQo+RmluYWxseSwgaGF2ZSB5b3Ug ZG9uZSBhbnkgdGVzdGluZywgZWl0aGVyIHRvIGVuc3VyZSB0aGVyZSBpcyBubyBzbG93LWRvd24s DQo+b3IgdG8gZGVtb25zdHJhdGUgc29tZSBpbXByb3ZlbWVudD8NCj4NCkkgb25seSB1c2VkIGRk IHRvIHRlc3QuVGhlcmUgd2FzIG5vIGFwcGFyZW50IHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uIA0K DQpUaGFua3MhDQpKaWFucGVuZyBNYQ==