Messages in this thread | | | Date | Mon, 17 Mar 2008 20:27:27 +0100 | From | Jens Axboe <> | Subject | Re: [Patch (block.git) 1/2] Add irqsave to spinlocks in call function single interrupt |
| |
On Mon, Mar 17 2008, Alan D. Brunelle wrote: > > Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com> > --- > kernel/smp.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/smp.c b/kernel/smp.c > index 852abd3..7232e1c 100644 > --- a/kernel/smp.c > +++ b/kernel/smp.c > @@ -24,12 +24,13 @@ void __cpuinit generic_init_call_single_data(void) > void generic_smp_call_function_single_interrupt(void) > { > struct call_single_queue *q; > + unsigned long flags; > LIST_HEAD(list); > > q = &__get_cpu_var(call_single_queue); > - spin_lock(&q->lock); > + spin_lock_irqsave(&q->lock, flags); > list_replace_init(&q->list, &list); > - spin_unlock(&q->lock); > + spin_unlock_irqrestore(&q->lock, flags); > > while (!list_empty(&list)) { > struct call_single_data *data;
This is included in the later series.
-- Jens Axboe
| |