From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id o8ELN35l148769 for ; Tue, 14 Sep 2010 16:23:03 -0500 Subject: Re: [PATCH 05/18] xfs: convert inode cache lookups to use RCU locking From: Alex Elder In-Reply-To: <1284461777-1496-6-git-send-email-david@fromorbit.com> References: <1284461777-1496-1-git-send-email-david@fromorbit.com> <1284461777-1496-6-git-send-email-david@fromorbit.com> Date: Tue, 14 Sep 2010 16:23:41 -0500 Message-ID: <1284499421.9701.69.camel@doink> Mime-Version: 1.0 Reply-To: aelder@sgi.com List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: xfs-bounces@oss.sgi.com Errors-To: xfs-bounces@oss.sgi.com To: Dave Chinner Cc: xfs@oss.sgi.com T24gVHVlLCAyMDEwLTA5LTE0IGF0IDIwOjU2ICsxMDAwLCBEYXZlIENoaW5uZXIgd3JvdGU6Cj4g RnJvbTogRGF2ZSBDaGlubmVyIDxkY2hpbm5lckByZWRoYXQuY29tPgo+IAo+IFdpdGggZGVsYXll ZCBsb2dnaW5nIGdyZWF0bHkgaW5jcmVhc2luZyB0aGUgc3VzdGFpbmVkIHBhcmFsbGVsaXNtIG9m IGlub2RlCj4gb3BlcmF0aW9ucywgdGhlIGlub2RlIGNhY2hlIGxvY2tpbmcgaXMgc2hvd2luZyBz aWduaWZpY2FudCByZWFkIHZzIHdyaXRlCj4gY29udGVudGlvbiB3aGVuIGlub2RlIHJlY2xhaW0g cnVucyBhdCB0aGUgc2FtZSB0aW1lIGFzIGxvb2t1cHMuIFRoZXJlIGlzCj4gYWxzbyBhIGxvdCBt b3JlIHdyaXRlIGxvY2sgYWNxdWlzdGlvbnMgdGhhbiB0aGVyZSBhcmUgcmVhZCBsb2NrcyAoNDox IHJhdGlvKQo+IHNvIHRoZSByZWFkIGxvY2tpbmcgaXMgbm90IHJlYWxseSBidXlpbmcgdXMgbXVj aCBpbiB0aGUgd2F5IG9mIHBhcmFsbGVsaXNtLgo+IAo+IFRvIGF2b2lkIHRoZSByZWFkIHZzIHdy aXRlIGNvbnRlbnRpb24sIGNoYW5nZSB0aGUgY2FjaGUgdG8gdXNlIFJDVSBsb2NraW5nIG9uCj4g dGhlIHJlYWQgc2lkZS4gVG8gYXZvaWQgbmVlZGluZyB0byBSQ1UgZnJlZSBldmVyeSBzaW5nbGUg aW5vZGUsIHVzZSB0aGUgYnVpbHQKPiBpbiBzbGFiIFJDVSBmcmVlaW5nIG1lY2hhbmlzbS4gVGhp cyByZXF1aXJlcyB1cyB0byBiZSBhYmxlIHRvIGRldGVjdCBsb29rdXBzIG9mCj4gZnJlZWQgaW5v ZGVzLCBzbyBlbtGVdXJlIHRoYXQgZXZlciBmcmVlZCBpbm9kZSBoYXMgYW4gaW5vZGUgbnVtYmVy IG9mIHplcm8gYW5kCj4gdGhlIFhGU19JUkVDTEFJTSBmbGFnIHNldC4gV2UgYWxyZWFkeSBjaGVj ayB0aGUgWEZTX0lSRUNMQUlNIGZsYWcgaW4gY2FjaGUgaGl0Cj4gbG9va3VwIHBhdGgsIGJ1dCBh bHNvIGFkZCBhIGNoZWNrIGZvciBhIHplcm8gaW5vZGUgbnVtYmVyIGFzIHdlbGwuCj4gCj4gV2Ug Y2FudGhlbiBjb252ZXJ0IGFsbCB0aGUgcmVhZCBsb2NraW5nIGxvY2t1cHMgdG8gdXNlIFJDVSBy ZWFkIHNpZGUgbG9ja2luZwo+IGFuZCBoZW5jZSByZW1vdmUgYWxsIHJlYWQgc2lkZSBsb2NraW5n Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IERhdmUgQ2hpbm5lciA8ZGNoaW5uZXJAcmVkaGF0LmNvbT4K CkkgY29uZmVzcyB0aGF0IEknbSBhIGxpdHRsZSBsZXNzIHRoYW4gc29saWQgb24gdGhpcywgYnV0 CnRoYXQncyBhIGNvbW1lbnQgb24gbWUsIG5vdCB5b3VyIGNvZGUuICAoQWZ0ZXIgd3JpdGluZwph bGwgdGhpcyBJIGZlZWwgYSBiaXQgYmV0dGVyLikKCkknbGwgdHJ5IHRvIGRlc2NyaWJlIG15IHVu ZGVyc3RhbmRpbmcgYW5kIHlvdSBjYW4gcmVhc3N1cmUKbWUgYWxsIGlzIHdlbGwuLi4gIEl0J3Mg cXVpdGUgYSBsb3QsIGJ1dCBJJ2xsIGNhbGwgYXR0ZW50aW9uCnRvIHR3byB0aGluZ3MgdG8gbG9v ayBmb3I6ICBhIHF1ZXN0aW9uIGFib3V0IHNvbWV0aGluZyBpbgp4ZnNfcmVjbGFpbV9pbm9kZSgp OyBhbmQgYSBjb21tZW50IHJlbGF0ZWQgdG8KeGZzX2lnZXRfY2FjaGVfaGl0KCkuCgoKRmlyc3Qs IHlvdSBhcmUgcmVwbGFjaW5nIHRoZSB1c2Ugb2YgYSBzaW5nbGUgcndsb2NrIGZvcgpwcm90ZWN0 aW5nIGFjY2VzcyB0byB0aGUgcGVyLUFHIGluLWNvcmUgaW5vZGUgcmFkaXggdHJlZQp3aXRoIFJD VSBmb3IgcmVhZGVycyBhbmQgYSBzcGlubG9jayBmb3Igd3JpdGVycy4KClRoaXMgaW5pdGlhbGx5 IHNlZW1lZCBzdHJhbmdlIHRvIG1lLCBhbmQgdW5zYWZlLCBidXQgSQpub3cgdGhpbmsgaXQncyBP SyBiZWNhdXNlOgotIHRoZSBzcGlubG9jayBwcm90ZWN0cyBhZ2FpbnN0IGNvbmN1cnJlbnQgd3Jp dGVycwogIGludGVyZmVyaW5nIHdpdGggZWFjaCBvdGhlcgotIHRoZSByY3VfcmVhZF9sb2NrKCkg aXMgc3VmZmljaWVudCBmb3IgZW5zdXJpbmcgcmVhZGVycwogIGhhdmUgdmFsaWQgcG9pbnRlcnMs IGJlY2F1c2UgdGhlIHVuZGVybHlpbmcgc3RydWN0dXJlCiAgaXMgYSByYWRpeCB0cmVlLCB3aGlj aCB1c2VzIHJjdV91cGRhdGVfcG9pbnRlcigpIGluCiAgb3JkZXIgdG8gY2hhbmdlIGFueXRoaW5n IGluIHRoZSB0cmVlLgpJJ20gc3RpbGwgdW5zZXR0bGVkIGFib3V0IHRoZSBwcm90ZWN0aW9uIHJl YWRlcnMgaGF2ZQphZ2FpbnN0IGEgY29uY3VycmVudCB3cml0ZXIsIGJ1dCBpdCdzIHByb2JhYmx5 IGp1c3QKYmVjYXVzZSB0aGlzIHBhcnRpY3VsYXIgdXNhZ2UgaXMgbmV3IHRvIG1lLgoKClNlY29u ZCwgeW91IGFyZSBleHBsb2l0aW5nIHRoZSBTTEFCX0RFU1RST1lfQllfUkNVCmZlYXR1cmUgaW4g b3JkZXIgdG8gYXZvaWQgaGF2aW5nIHRvIGhhdmUgZWFjaCBpbm9kZQp3YWl0IGFuIFJDVSBncmFj ZSBwZXJpb2Qgd2hlbiBpdCdzIGZyZWVkLiAgVG8gdXNlCnRoYXQgd2UgbmVlZCB0byBjaGVjayBm b3IgYW5kIHJlY29nbml6ZSBhIGZyZWVkCmlub2RlIGFmdGVyIGxvb2tpbmcgaXQgdXAsIHNpbmNl IHdlIGhhdmUgbm8gZ3VhcmFudGVlCml0J3MgdXBkYXRlZCBpbiB0aGUgcmFkaXggdHJlZSBhZnRl ciBpdCdzIGZyZWVkIHVudGlsCmFmdGVyIGFuIFJDVSBncmFjZSBwZXJpb2QgaGFzIHBhc3NlZC4g IFNvIHplcm9pbmcgdGhlCmlfaW5vIGZpZWxkIGFuZCBzZXR0aW5nIFhGU19SRUNMQUlNIGhhbmRs ZXMgdGhhdC4KClNvIEkgc2VlIHRoZXNlIGxvb2t1cHM6Ci0gVHdvIGdhbmcgbG9va3VwcyBpbiB4 ZnNfaW5vZGVfYWdfbG9va3VwKCksIHdoaWNoCiAgaXMgY2FsbGVkIG9ubHkgYnkgeGZzX2lub2Rl X2FnX3dhbGsoKSwgaW4gdHVybgogIGNhbGxlZCBvbmx5IGJ5IHhmc19pbm9kZV9hZ19pdGVyYXRv cigpLiAgVGhlCiAgY2hlY2sgaW4gdGhpcyBjYXNlIGhhcyB0byBoYXBwZW4gaW4gdGhlICJleGVj dXRlIgogIGZ1bmN0aW9uIHBhc3NlZCBpbiB0byB4ZnNfaW5vZGVfYWdfd2FsaygpIHZpYQogIHhm c19pbm9kZV9hZ19pdGVyYXRvcigpLiAgVGhlIGFmZmVjdGVkIGZ1bmN0aW9ucwogIGFyZToKICAg IC0geGZzX3N5bmNfaW5vZGVfZGF0YSgpLiAgVGhpcyBvbmUgY2FsbHMKICAgICAgeGZzX3N5bmNf aW5vZGVfdmFsaWQoKSByaWdodCBhd2F5LCB3aGljaCBpbgogICAgICB5b3VyIGNoYW5nZSBub3cg Y2hlY2tzIGZvciBhIHplcm8gaV9pbm8uCiAgICAtIHhmc19zeW5jX2lub2RlX2F0dHIoKS4gIFNh bWUgYXMgYWJvdmUsCiAgICAgIGhhbmRsZWQgYnkgeGZzX3N5bmNfaW5vZGVfdmFsaWQoKS4KICAg IC0geGZzX3JlY2xhaW1faW5vZGUoKS4gIFRoaXMgb25lIHNob3VsZAogICAgICBiZSBmaW5lLCBi ZWNhdXNlIGl0IGFscmVhZHkgaGFzIGEgdGVzdAogICAgICBmb3IgdGhlIFhGU19JUkVDTEFJTSBm bGFnIGJlaW5nIHNldCwgYW5kCiAgICAgIGlnbm9yZXMgdGhlIGlub2RlIGlmIGl0IGlzLiAgSG93 ZXZlciwgaXQKICAgICAgaGFzIHRoaXMgbGluZSBhbHNvOgogICAgICAgIEFTU0VSVF9BTFdBWVMo X194ZnNfaWZsYWdzX3Rlc3QoaXAsIFhGU19JUkVDTEFJTUFCTEUpKTsKICAgICAgWW91ciBjaGFu Z2UgZG9lc24ndCBzZXQgWEZTX0lSRUNMQUlNQUJMRSwgc28KKiAgICAgSSBpbWFnaW5lIGlmIHdl IGdldCBoZXJlIGluc2lkZSB0aGF0IFJDVSB3aW5kb3cKKiAgICAgd2UnZCBoYXZlIGEgcHJvYmxl bS4gIEFtIEkgd3JvbmcgYWJvdXQgdGhpcz8KICAgIC0geGZzX2RxcmVsZV9pbm9kZSgpLiAgVGhp cyBvbmUgYWdhaW4gY2FsbHMKICAgICAgeGZzX3N5bmNfaW5vZGVfdmFsaWQoKSwgc28gc2hvdWxk IGJlIGNvdmVyZWQuCi0gQSBsb29rdXAgaW4geGZzX2lnZXQoKS4gIFRoaXMgaXMgaGFuZGxlZCBi eQogIHlvdXIgY2hhbmdlLCBieSBsb29raW5nIGZvciBhIHplcm8gaV9pbm8gaW4KKiB4ZnNfaWdl dF9jYWNoZV9oaXQoKS4gIChQbGVhc2Ugc2VlIHRoZSBjb21tZW50CiAgb24gdGhpcyBmdW5jdGlv biBpbi1saW5lLCBiZWxvdy4pCi0gQSBsb29rdXAgaW4geGZzX2lmcmVlX2NsdXN0ZXIoKS4gIEhh bmRsZWQgYnkKICB5b3VyIGNoYW5nZSAobm93IGNoZWNrcyBmb3IgemVybyBpX2lubykuCi0gQW5k IGEgZ2FuZyBsb29rdXAgaW4geGZzX2lmbHVzaF9jbHVzdGVyKCkuICBUaGlzCiAgb25lIGlzIGhh bmRsZWQgYnkgeW91ciBjaGFuZ2UgKG5vdyBjaGVja3MgZWFjaAogIGlub2RlIGZvciBhIHplcm8g aV9pbm8gZmllbGQpLgoKT0ssIHNvIEkgdGhpbmsgdGhhdCBjb3ZlcnMgZXZlcnl0aGluZywgYnV0 IEkgaGF2ZQp0aGF0IG9uZSBxdWVzdGlvbiBhYm91dCB4ZnNfcmVjbGFpbV9pbm9kZSgpLCBhbmQK dGhlbiBJIGhhdmUgb25lIG1vcmUgY29tbWVudCBiZWxvdy4KCgoKRGVzcGl0ZSBhbGwgbXkgY29t bWVudGFyeSBhYm92ZS4uLiAgVGhlIHBhdGNoIGxvb2tzCmdvb2QgKGNvbnNpc3RlbnQpIHRvIG1l LiAgSSdtIGludGVyZXN0ZWQgdG8gaGVhcgp5b3VyIGZlZWRiYWNrIHRob3VnaC4gIEFuZCB1bmxl c3MgdGhlcmUgaXMgc29tZXRoaW5nCm1ham9yIGNoYW5nZWQsIG9yIEknbSBmdW5kYW1lbnRhbGx5 IG1pc2d1aWRlZCBhYm91dAp0aGlzIHN0dWZmLCB5b3UgY2FuIGNvbnNpZGVyIGl0OgoKUmV2aWV3 ZWQtYnk6IEFsZXggRWxkZXIgPGFlbGRlckBzZ2kuY29tPgoKCj4gLS0tCj4gIGZzL3hmcy9saW51 eC0yLjYva21lbS5oICAgICAgICB8ICAgIDEgKwo+ICBmcy94ZnMvbGludXgtMi42L3hmc19zdXBl ci5jICAgfCAgICAzICsrLQo+ICBmcy94ZnMvbGludXgtMi42L3hmc19zeW5jLmMgICAgfCAgIDEy ICsrKysrKy0tLS0tLQo+ICBmcy94ZnMvcXVvdGEveGZzX3FtX3N5c2NhbGxzLmMgfCAgICA0ICsr LS0KCi4gLiAuCgo+IGRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2lnZXQuYyBiL2ZzL3hmcy94ZnNf aWdldC5jCj4gaW5kZXggYjFlY2M2Zi4uZjNhNDZiNiAxMDA2NDQKPiAtLS0gYS9mcy94ZnMveGZz X2lnZXQuYwo+ICsrKyBiL2ZzL3hmcy94ZnNfaWdldC5jCgouIC4gLgoKPiBAQCAtMTQ1LDEyICsx NTMsMjYgQEAgeGZzX2lnZXRfY2FjaGVfaGl0KAo+ICAJc3RydWN0IHhmc19wZXJhZwkqcGFnLAo+ ICAJc3RydWN0IHhmc19pbm9kZQkqaXAsCj4gIAlpbnQJCQlmbGFncywKPiAtCWludAkJCWxvY2tf ZmxhZ3MpIF9fcmVsZWFzZXMocGFnLT5wYWdfaWNpX2xvY2spCj4gKwlpbnQJCQlsb2NrX2ZsYWdz KSBfX3JlbGVhc2VzKFJDVSkKPiAgewo+ICAJc3RydWN0IGlub2RlCQkqaW5vZGUgPSBWRlNfSShp cCk7Cj4gIAlzdHJ1Y3QgeGZzX21vdW50CSptcCA9IGlwLT5pX21vdW50Owo+ICAJaW50CQkJZXJy b3I7Cj4gIAo+ICsJLyoKPiArCSAqIGNoZWNrIGZvciByZS11c2Ugb2YgYW4gaW5vZGUgd2l0aGlu IGFuIFJDVSBncmFjZSBwZXJpb2QgZHVlIHRvIHRoZQo+ICsJICogcmFkaXggdHJlZSBub2RlcyBu b3QgYmVpbmcgdXBkYXRlZCB5ZXQuIFdlIG1vbml0b3IgZm9yIHRoaXMgYnkKPiArCSAqIHNldHRp bmcgdGhlIGlub2RlIG51bWJlciB0byB6ZXJvIGJlZm9yZSBmcmVlaW5nIHRoZSBpbm9kZSBzdHJ1 Y3R1cmUuCj4gKwkgKi8KPiArCWlmIChpcC0+aV9pbm8gPT0gMCkgewo+ICsJCXRyYWNlX3hmc19p Z2V0X3NraXAoaXApOwo+ICsJCVhGU19TVEFUU19JTkMoeHNfaWdfZnJlY3ljbGUpOwo+ICsJCXJj dV9yZWFkX3VubG9jaygpOwo+ICsJCS8qIEV4cGlyZSB0aGUgZ3JhY2UgcGVyaW9kIHNvIHdlIGRv bid0IHRyaXAgb3ZlciBpdCBhZ2Fpbi4gKi8KPiArCQlzeW5jaHJvbml6ZV9yY3UoKTsKClNpbmNl IHlvdSdyZSB3YWl0aW5nIGZvciB0aGUgZW5kIG9mIHRoZSBncmFjZSBwZXJpb2QgaGVyZSwKaXQg c2VlbXMgYSBzaGFtZSB0aGF0IHRoZSBjYWxsZXIgKHhmc19pZ2V0KCkpIHdpbGwgc3RpbGwKZW5k IHVwIGNhbGxpbmcgZGVsYXkoMSkgYmVmb3JlIHRyeWluZyBhZ2Fpbi4gIEl0IHdvdWxkCmJlIG5p Y2UgaWYgdGhlIGRlbGF5IGNvdWxkIGJlIGF2b2lkZWQgaW4gdGhhdCBjYXNlLgoKPiArCQlyZXR1 cm4gRUFHQUlOOwo+ICsJfQo+ICsKPiAgCXNwaW5fbG9jaygmaXAtPmlfZmxhZ3NfbG9jayk7Cj4g IAo+ICAJLyoKCi4gLiAuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwp4ZnMgbWFpbGluZyBsaXN0Cnhmc0Bvc3Muc2dpLmNvbQpodHRwOi8vb3NzLnNnaS5j b20vbWFpbG1hbi9saXN0aW5mby94ZnMK