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

Christoph Lameter
2007-08-14T20:42:36Z

On Tue, 14 Aug 2007, Andi Kleen wrote:

> > 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.
>
> I was thinking of a per cpu flag that is set before and unset after
> taking the lock in process context. If the flag is set the interrupt
> will never try to take the spinlock and return NULL instead.
> That should be equivalent to cli/sti for this special case.

Hmmmm... The spinlock is its own flag. If the lock is taken then the flag
is set. So if we check all relevant spinlocks before going into reclaim
then we could return NULL.