From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262007AbUERNdW (ORCPT ); Tue, 18 May 2004 09:33:22 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262060AbUERNdW (ORCPT ); Tue, 18 May 2004 09:33:22 -0400 Received: from cfcafw.sgi.com ([198.149.23.1]:21040 "EHLO omx1.americas.sgi.com") by vger.kernel.org with ESMTP id S262007AbUERNdS (ORCPT ); Tue, 18 May 2004 09:33:18 -0400 Date: Tue, 18 May 2004 08:33:05 -0500 From: Jack Steiner To: Andrew Morton Cc: Andrea Arcangeli , paulmck@us.ibm.com, linux-kernel@vger.kernel.org Subject: Re: RCU scaling on large systems Message-ID: <20040518133305.GA4848@sgi.com> References: <20040501120805.GA7767@sgi.com> <20040502182811.GA1244@us.ibm.com> <20040503184006.GA10721@sgi.com> <20040507205048.GB1246@us.ibm.com> <20040507220654.GA32208@sgi.com> <20040507163235.11cd94ce.akpm@osdl.org> <20040517211834.GI3044@dualathlon.random> <20040517144228.7172d681.akpm@osdl.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040517144228.7172d681.akpm@osdl.org> User-Agent: Mutt/1.4.1i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 17, 2004 at 02:42:28PM -0700, Andrew Morton wrote: > Andrea Arcangeli wrote: > > > > On Fri, May 07, 2004 at 04:32:35PM -0700, Andrew Morton wrote: > > > Jack Steiner wrote: > > > > > > > > The calls to RCU are coming from here: > > > > > > > > [11]kdb> bt > > > > Stack traceback for pid 3553 > > > > 0xe00002b007230000 3553 3139 1 11 R 0xe00002b0072304f0 *ls > > > > 0xa0000001000feee0 call_rcu > > > > 0xa0000001001a3b20 d_free+0x80 > > > > 0xa0000001001a3ec0 dput+0x340 > > > > 0xa00000010016bcd0 __fput+0x210 > > > > 0xa00000010016baa0 fput+0x40 > > > > 0xa000000100168760 filp_close+0xc0 > > > > 0xa000000100168960 sys_close+0x180 > > > > 0xa000000100011be0 ia64_ret_from_syscall > > > > > > > > I see this same backtrace from numerous processes. > > > > > > eh? Why is dput freeing the dentry? It should just be leaving it in cache. > > > > > > What filesystem is being used? procfs? > > > > deleting entries from dcache can be a frequent operation, even rename() > > triggers d_free. > > This issue has gone all quiet. Is anyone doing aything? I plan to look into the RCU scaling issues (unless someone beats me to it) but it will be a couple of weeks before I can start. > > > note that I changed my tree to free all negative entries that are > > currently generated by unlink. I find useless to leave negative dentries > > after "unlink". I leave them of course after a failed lookup (that's the > > fundamental usage of the negative dentries for the PATHs userspace > > lookups), but not after unlink. > > Sounds sensible. Could you please send out the patch? > > > RCU basically trades mugh higher performance for reader, with much lower > > performance for the writer. > > If the writer wants synchronous-removal semantics, yes. > > The problem here and, I believe, in the route cache is in finding a balance > between the amount of storage and the frequency of RCU callback runs. -- Thanks Jack Steiner (steiner@sgi.com) 651-683-5302 Principal Engineer SGI - Silicon Graphics, Inc.