Messages in this thread | | | Date | Tue, 14 Aug 2007 12:12:15 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [RFC 4/9] Atomic reclaim: Save irq flags in vmscan.c |
| |
On Tue, 14 Aug 2007, Andi Kleen wrote:
> Christoph Lameter <clameter@sgi.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.
- 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/
| |