Re: RCU scaling on large systems

From: Jack Steiner
Date: Tue May 18 2004 - 08:34:41 EST


On Mon, May 17, 2004 at 02:42:28PM -0700, Andrew Morton wrote:
> Andrea Arcangeli <andrea@xxxxxxx> wrote:
> >
> > On Fri, May 07, 2004 at 04:32:35PM -0700, Andrew Morton wrote:
> > > Jack Steiner <steiner@xxxxxxx> 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@xxxxxxx) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/