On Mon, Dec 05, 2011 at 03:32:31PM +1100, Dave Chinner wrote: > > + /* > > + * move the dquot to the front of the hashchain > > + */ > > + list_move(&dqp->q_hashlist, &qh->qh_list); > > + trace_xfs_dqlookup_done(dqp); > > + *O_dqpp = dqp; > > + return 0; > > Back when the inode cache used a hash, we found that this moving of > the item to the front of the list actually slowed down lookups - the > impact of dirtying cachelines (i.e. remote CPU cache invalidation) > to move the item in the list was greater than the time saved during > lookups. That was because that when there are no hash chain > modifications taking place, then the frequently hit chains simply > end up shared in all the cpu caches rather than being turfed out on > every successful lookup on a different CPU.... Yes, I doubt having this is an overly good idea. But instead of spending more time on optimizing the cache I'd prefer getting the patches to move to a tree in after another merge window or two. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs