Message ID | 1364202312-5495-1-git-send-email-stefan.bader@canonical.com |
---|---|
State | New |
Headers | show |
On 25/03/13 09:05, Stefan Bader wrote: > With the other change interrupts can again be enabled. > > From 85ae0d56d9f7a6a960c4c0f943b92718a1ee8e98 Mon Sep 17 00:00:00 2001 > From: Stefan Bader <stefan.bader@canonical.com> > Date: Mon, 25 Mar 2013 10:01:44 +0100 > Subject: [PATCH] Revert "[PATCH] UBUNTU: SAUCE: xen/pv-spinlock: Never enable > interrupts in xen_spin_lock_slow()" > > This reverts commit dec8ea944c1a873ccc33680e6155b829d3e129b2 because it > is superseded by: > > commit b140196cc362cffd2add6ed355bd88001b575e16 > Date: Fri Feb 15 09:48:52 2013 +0100 > > xen: Send spinlock IPI to all waiters > > Signed-off-by: Stefan Bader <stefan.bader@canonical.com> > --- > arch/x86/xen/spinlock.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c > index ca290d0..67bc7ba 100644 > --- a/arch/x86/xen/spinlock.c > +++ b/arch/x86/xen/spinlock.c > @@ -242,7 +242,7 @@ static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enab > flags = arch_local_save_flags(); > if (irq_enable) { > ADD_STATS(taken_slow_irqenable, 1); > - /* raw_local_irq_enable(); */ > + raw_local_irq_enable(); > } > > /* > @@ -256,7 +256,7 @@ static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enab > */ > xen_poll_irq(irq); > > - /* raw_local_irq_restore(flags); */ > + raw_local_irq_restore(flags); > > ADD_STATS(taken_slow_spurious, !xen_test_irq_pending(irq)); > } while (!xen_test_irq_pending(irq)); /* check for spurious wakeups */ > Seems most reasonable to me. Acked-by: Colin Ian King <colin.king@canonical.com>
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c index ca290d0..67bc7ba 100644 --- a/arch/x86/xen/spinlock.c +++ b/arch/x86/xen/spinlock.c @@ -242,7 +242,7 @@ static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enab flags = arch_local_save_flags(); if (irq_enable) { ADD_STATS(taken_slow_irqenable, 1); - /* raw_local_irq_enable(); */ + raw_local_irq_enable(); } /* @@ -256,7 +256,7 @@ static noinline int xen_spin_lock_slow(struct arch_spinlock *lock, bool irq_enab */ xen_poll_irq(irq); - /* raw_local_irq_restore(flags); */ + raw_local_irq_restore(flags); ADD_STATS(taken_slow_spurious, !xen_test_irq_pending(irq)); } while (!xen_test_irq_pending(irq)); /* check for spurious wakeups */