Re: [RFC] [PATCH] Include LRU in page count

From: Daniel Phillips (phillips@arcor.de)
Date: Sun Sep 01 2002 - 17:20:49 EST


On Monday 02 September 2002 00:09, Andrew Morton wrote:
> Daniel Phillips wrote:
> >
> > ...
> > I'm looking at your spinlock_irq now and thinking the _irq part could
> > possibly be avoided. Can you please remind me of the motivation for this -
> > was it originally intended to address the same race we've been working on
> > here?
>
> scalability, mainly. If the CPU holding the lock takes an interrupt,
> all the other CPUs get to spin until the handler completes. I measured
> a 30% reducton in contention from this.
>
> Not a generally justifiable trick, but this is a heavily-used lock.
> All the new games in refill_inactive() are there to minimise the
> interrupt-off time.

Ick. I hope you really chopped the lock hold time into itty-bitty pieces.

Note that I changed the spin_lock in page_cache_release to a trylock, maybe
it's worth checking out the effect on contention. With a little head
scratching we might be able to get rid of the spin_lock in lru_cache_add as
well. That leaves (I think) just the two big scan loops. I've always felt
it's silly to run more than one of either at the same time anyway.

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



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:14 EST