Re: [13/17] Virtual compound page freeing in interrupt context

2007-09-28 Thread KAMEZAWA Hiroyuki
On Fri, 28 Sep 2007 10:35:44 -0700 (PDT) Christoph Lameter <[EMAIL PROTECTED]> wrote: > On Fri, 28 Sep 2007, KAMEZAWA Hiroyuki wrote: > > > On Tue, 25 Sep 2007 16:42:17 -0700 > > Christoph Lameter <[EMAIL PROTECTED]> wrote: > > > > > +static noinline void vcompound_free(void *addr) > > > +{ > >

Re: [13/17] Virtual compound page freeing in interrupt context

2007-09-28 Thread Christoph Lameter
On Fri, 28 Sep 2007, KAMEZAWA Hiroyuki wrote: > On Tue, 25 Sep 2007 16:42:17 -0700 > Christoph Lameter <[EMAIL PROTECTED]> wrote: > > > +static noinline void vcompound_free(void *addr) > > +{ > > + if (in_interrupt()) { > > Should be (in_interrupt() || irqs_disabled()) ? Maybe only irqs_disab

Re: [13/17] Virtual compound page freeing in interrupt context

2007-09-27 Thread KAMEZAWA Hiroyuki
On Tue, 25 Sep 2007 16:42:17 -0700 Christoph Lameter <[EMAIL PROTECTED]> wrote: > +static noinline void vcompound_free(void *addr) > +{ > + if (in_interrupt()) { Should be (in_interrupt() || irqs_disabled()) ? Regards, -Kame - To unsubscribe from this list: send the line "unsubscribe linux-

[13/17] Virtual compound page freeing in interrupt context

2007-09-25 Thread Christoph Lameter
If we are in an interrupt context then simply defer the free via a workqueue. Removing a virtual mappping *must* be done with interrupts enabled since tlb_xx functions are called that rely on interrupts for processor to processor communications. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]

Re: [13/17] Virtual compound page freeing in interrupt context

2007-09-20 Thread Christoph Lameter
On Wed, 19 Sep 2007, Nick Piggin wrote: > > Removing a virtual mappping *must* be done with interrupts enabled > > since tlb_xx functions are called that rely on interrupts for > > processor to processor communications. > > These things will clash drastically with my lazy TLB flushing and scalabi

Re: [13/17] Virtual compound page freeing in interrupt context

2007-09-20 Thread Nick Piggin
On Wednesday 19 September 2007 13:36, Christoph Lameter wrote: > If we are in an interrupt context then simply defer the free via a > workqueue. > > In an interrupt context it is not possible to use vmalloc_addr() to > determine the vmalloc address. So add a variant that does that too. > > Removing

[13/17] Virtual compound page freeing in interrupt context

2007-09-18 Thread Christoph Lameter
If we are in an interrupt context then simply defer the free via a workqueue. In an interrupt context it is not possible to use vmalloc_addr() to determine the vmalloc address. So add a variant that does that too. Removing a virtual mappping *must* be done with interrupts enabled since tlb_xx fun