lkml.org 
[lkml]   [2002]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC] [PATCH] Include LRU in page count
Date
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/

\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.179 / U:0.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site