[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071102100537.402ac85b@bree.surriel.com>
Date: Fri, 2 Nov 2007 10:05:37 -0400
From: Rik van Riel <riel@...hat.com>
To: Nick Piggin <npiggin@...e.de>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Gregory Haskins <gregory.haskins.ml@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andi Kleen <ak@...e.de>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [patch 1/4] x86: FIFO ticket spinlocks
On Fri, 2 Nov 2007 07:42:20 +0100
Nick Piggin <npiggin@...e.de> wrote:
> On Thu, Nov 01, 2007 at 06:19:41PM -0700, Linus Torvalds wrote:
> >
> >
> > On Thu, 1 Nov 2007, Rik van Riel wrote:
> > >
> > > Larry Woodman managed to wedge the VM into a state where, on his
> > > 4x dual core system, only 2 cores (on the same CPU) could get the
> > > zone->lru_lock overnight. The other 6 cores on the system were
> > > just spinning, without being able to get the lock.
>
> That's quite incredible, considering that the CPUs actually _taking_
> the locks also drop the locks and do quite a bit of work before taking
> them again (ie. they take them to pull pages off the LRU, but then
> do a reasonable amount of work to remove each one from pagecache
> before refilling from the LRU).
>
> Possibly actually that is a *more* difficult case for the HW to
> handle: once the CPU actually goes away and operates on other
> cachelines, it may get a little more difficult to detect that it is
> causing starvation issues.
In case of the zone->lru_lock, grabbing the spinlock does
not mean that the process is letting go of the cacheline.
On the contrary, once the spinlock has been grabbed, the
real cacheline prodding begins.
--
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists