[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1187121951.5337.4.camel@lappy>
Date: Tue, 14 Aug 2007 22:05:51 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Christoph Lameter <clameter@....com>
Cc: Andi Kleen <andi@...stfloor.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>
Subject: Re: [RFC 4/9] Atomic reclaim: Save irq flags in vmscan.c
On Tue, 2007-08-14 at 12:12 -0700, Christoph Lameter wrote:
> On Tue, 14 Aug 2007, Andi Kleen wrote:
>
> > Christoph Lameter <clameter@....com> writes:
> >
> > > Reclaim can be called with interrupts disabled in atomic reclaim.
> > > vmscan.c is currently using spinlock_irq(). Switch to spin_lock_irqsave().
> >
> > I like the idea in principle. If this fully works out we could
> > potentially keep less memory free by default which would be a good
> > thing in general: free memory is bad memory.
>
> Right.
>
> > But would be interesting to measure what the lock
> > changes do to interrupt latency. Probably nothing good.
>
> Yup.
>
> > A more benign alternative might be to just set a per CPU flag during
> > these critical sections and then only do atomic reclaim on a local
> > interrupt when the flag is not set. That would make it a little less
> > reliable, but much less intrusive and with some luck still give many
> > of the benefits.
>
> There are other lock interactions that may cause problems. If we do not
> switch to the saving of irq flags then all involved spinlocks must become
> trylocks because the interrupt could have happened while the spinlock is
> held. So interrupts must be disabled on locks acquired during an
> interrupt.
A much simpler approach to this seems to use threaded interrupts like
-rt does.
-
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