Re: [RFC 4/9] Atomic reclaim: Save irq flags in vmscan.c

From: Christoph Lameter
Date: Tue Aug 14 2007 - 15:13:19 EST


On Tue, 14 Aug 2007, Andi Kleen wrote:

> Christoph Lameter <clameter@xxxxxxx> 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.

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