From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753216AbZKYOrQ (ORCPT ); Wed, 25 Nov 2009 09:47:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751861AbZKYOrP (ORCPT ); Wed, 25 Nov 2009 09:47:15 -0500 Received: from mail-px0-f180.google.com ([209.85.216.180]:41829 "EHLO mail-px0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750904AbZKYOrO (ORCPT ); Wed, 25 Nov 2009 09:47:14 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:references:subject:message-id:x-mailer:mime-version :content-type:content-transfer-encoding; b=K7CqyFEUa725JKtAV18p3FL3b878rBNyNE0KaEgfl7lTvmSd1d3QVL+S87WSXAGnwR Q9tBHX5ZM06YZMvimRsqRTkifSgga/4V7UoGP0/iYcPPX+7mnJndslZecaI48eZMxvSg cY0c4hk+vpsOgpUVxYlnTPp/btfoNrZruaIMI= Date: Wed, 25 Nov 2009 22:51:33 +0800 From: "Liuweni" To: "Matthew Wilcox" Cc: "viro" , "akpm" , "jack" , "npiggin" , "linux-fsdevel" , "linux-kernel" , "strongzgy" , "xgr178" , "Liu Hui" References: <200911252209432039291@gmail.com> Subject: Re: [PATCH 1/3]fs/inode: iunique() Optimize Performance Message-ID: <200911252251305001347@gmail.com> X-mailer: Foxmail 6, 15, 201, 22 [cn] Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha.home.local id nAPElT16016570 Hi Matthew Wilcox , The code means set counter's value to the max max_reserved and counter. Then, the if condition will choose a large one, and in the function, the counter is increased. so this code won't change the function of iunique(). > + if (counter <= max_reserved) > + counter = max_reserved + 1; ----------- Best Regards, Liuweni 2009-11-25 发件人: Matthew Wilcox 发送时间: 2009-11-25 22:15:09 收件人: Liuweni 抄送: linux-kernel; strongzgy; xgr178; Liu Hui; viro; akpm; jack; npiggin; linux-fsdevel 主题: Re: [PATCH 1/3]fs/inode: iunique() Optimize Performance On Wed, Nov 25, 2009 at 10:09:45PM +0800, Liuweni wrote: > --- > move the if condition out the while{}. > While the function executing, the if > condition won't check again and again. > And this code won't change the function > of iunique(). That's not true. > @@ -838,9 +838,10 @@ ino_t iunique(struct super_block *sb, ino_t max_reserved) > ino_t res; > > spin_lock(&inode_lock); > + > + if (counter <= max_reserved) > + counter = max_reserved + 1; > do { > - if (counter <= max_reserved) > - counter = max_reserved + 1; > res = counter++; 'counter' is incremented here, so if it wraps around, we'll blunder into the reserved space again. > head = inode_hashtable + hash(sb, res); > inode = find_inode_fast(sb, head, res); > > > -------------- > Best Regards, > Liuweni > 2009-11-25 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." 翳簕.n+壏煯壄+%娝遍荻w簕.n+壏{炳G珴妠ay蕠跈,jf"穐殢飦戧鐉_璁(殠娸"濟mG珴⒏?櫒璀&x忈秈O曟瑉窔v豝m 鹅⒏?朓 From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liuweni" Subject: Re: [PATCH 1/3]fs/inode: iunique() Optimize Performance Date: Wed, 25 Nov 2009 22:51:33 +0800 Message-ID: <200911252251305001347@gmail.com> References: <200911252209432039291@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Cc: "viro" , "akpm" , "jack" , "npiggin" , "linux-fsdevel" , "linux-kernel" , "strongzgy" , "xgr178" , "Liu Hui" To: "Matthew Wilcox" Return-path: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org SGkgIE1hdHRoZXcgV2lsY294ICwNCiAgICBUaGUgY29kZSBtZWFucyBzZXQgY291bnRlcidzIHZh bHVlIHRvIHRoZSBtYXggbWF4X3Jlc2VydmVkIGFuZCBjb3VudGVyLg0KVGhlbiwgdGhlIGlmIGNv bmRpdGlvbiB3aWxsIGNob29zZSBhIGxhcmdlIG9uZSwgYW5kIGluIHRoZSBmdW5jdGlvbiwgdGhl IGNvdW50ZXINCmlzIGluY3JlYXNlZC4gc28gdGhpcyBjb2RlIHdvbid0IGNoYW5nZSB0aGUgZnVu Y3Rpb24gb2YgaXVuaXF1ZSgpLg0KDQo+ICsgaWYgKGNvdW50ZXIgPD0gbWF4X3Jlc2VydmVkKQ0K PiArIGNvdW50ZXIgPSBtYXhfcmVzZXJ2ZWQgKyAxOw0KDQoNCi0tLS0tLS0tLS0tDQpCZXN0IFJl Z2FyZHMsDQpMaXV3ZW5pIA0KMjAwOS0xMS0yNSANCg0KDQoNCg0KDQoNCg0Kt6K8/sjLo7ogTWF0 dGhldyBXaWxjb3ggDQq3osvNyrG85KO6IDIwMDktMTEtMjUgIDIyOjE1OjA5IA0KytW8/sjLo7og TGl1d2VuaSANCrOty82juiBsaW51eC1rZXJuZWw7IHN0cm9uZ3pneTsgeGdyMTc4OyBMaXUgSHVp OyB2aXJvOyBha3BtOyBqYWNrOyBucGlnZ2luOyBsaW51eC1mc2RldmVsIA0K1vfM4qO6IFJlOiBb UEFUQ0ggMS8zXWZzL2lub2RlOiBpdW5pcXVlKCkgT3B0aW1pemUgUGVyZm9ybWFuY2UgDQogDQpP biBXZWQsIE5vdiAyNSwgMjAwOSBhdCAxMDowOTo0NVBNICswODAwLCBMaXV3ZW5pIHdyb3RlOg0K PiAtLS0NCj4gbW92ZSB0aGUgaWYgY29uZGl0aW9uIG91dCB0aGUgd2hpbGV7fS4NCj4gV2hpbGUg dGhlIGZ1bmN0aW9uIGV4ZWN1dGluZywgdGhlIGlmIA0KPiBjb25kaXRpb24gd29uJ3QgY2hlY2sg YWdhaW4gYW5kIGFnYWluLg0KPiBBbmQgdGhpcyBjb2RlIHdvbid0IGNoYW5nZSB0aGUgZnVuY3Rp b24NCj4gb2YgaXVuaXF1ZSgpLg0KVGhhdCdzIG5vdCB0cnVlLg0KPiBAQCAtODM4LDkgKzgzOCwx MCBAQCBpbm9fdCBpdW5pcXVlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGlub190IG1heF9yZXNl cnZlZCkNCj4gICBpbm9fdCByZXM7DQo+ICANCj4gICBzcGluX2xvY2soJmlub2RlX2xvY2spOw0K PiArDQo+ICsgaWYgKGNvdW50ZXIgPD0gbWF4X3Jlc2VydmVkKQ0KPiArIGNvdW50ZXIgPSBtYXhf cmVzZXJ2ZWQgKyAxOw0KPiAgIGRvIHsNCj4gLSBpZiAoY291bnRlciA8PSBtYXhfcmVzZXJ2ZWQp DQo+IC0gY291bnRlciA9IG1heF9yZXNlcnZlZCArIDE7DQo+ICAgcmVzID0gY291bnRlcisrOw0K J2NvdW50ZXInIGlzIGluY3JlbWVudGVkIGhlcmUsIHNvIGlmIGl0IHdyYXBzIGFyb3VuZCwgd2Un bGwgYmx1bmRlciBpbnRvIA0KdGhlIHJlc2VydmVkIHNwYWNlIGFnYWluLg0KPiAgIGhlYWQgPSBp bm9kZV9oYXNodGFibGUgKyBoYXNoKHNiLCByZXMpOw0KPiAgIGlub2RlID0gZmluZF9pbm9kZV9m YXN0KHNiLCBoZWFkLCByZXMpOw0KPiANCj4gICANCj4gLS0tLS0tLS0tLS0tLS0NCj4gQmVzdCBS ZWdhcmRzLA0KPiBMaXV3ZW5pDQo+IDIwMDktMTEtMjUNCj4gDQo+IC0tDQo+IFRvIHVuc3Vic2Ny aWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC1mc2Rl dmVsIiBpbg0KPiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVs Lm9yZw0KPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21h am9yZG9tby1pbmZvLmh0bWwNCi0tIA0KTWF0dGhldyBXaWxjb3ggSW50ZWwgT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50cmUNCiJCaWxsLCBsb29rLCB3ZSB1bmRlcnN0YW5kIHRoYXQgeW91J3Jl IGludGVyZXN0ZWQgaW4gc2VsbGluZyB1cyB0aGlzDQpvcGVyYXRpbmcgc3lzdGVtLCBidXQgY29t cGFyZSBpdCB0byBvdXJzLiAgV2UgY2FuJ3QgcG9zc2libHkgdGFrZSBzdWNoDQphIHJldHJvZ3Jh ZGUgc3RlcC4iDQo=