From: Jeremy Fitzhardinge Date: Fri, 9 Aug 2013 14:21:59 +0000 (+0530) Subject: xen, pvticketlock: Allow interrupts to be enabled while blocking X-Git-Tag: v3.12-rc1~152^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ed7bf5f5227169b661c619636f754b98001ec30;p=pandora-kernel.git xen, pvticketlock: Allow interrupts to be enabled while blocking If interrupts were enabled when taking the spinlock, we can leave them enabled while blocking to get the lock. If we can enable interrupts while waiting for the lock to become available, and we take an interrupt before entering the poll, and the handler takes a spinlock which ends up going into the slow state (invalidating the per-cpu "lock" and "want" values), then when the interrupt handler returns the event channel will remain pending so the poll will return immediately, causing it to return out to the main spinlock loop. Signed-off-by: Jeremy Fitzhardinge Link: http://lkml.kernel.org/r/1376058122-8248-12-git-send-email-raghavendra.kt@linux.vnet.ibm.com Reviewed-by: Konrad Rzeszutek Wilk Signed-off-by: Raghavendra K T Acked-by: Ingo Molnar Signed-off-by: H. Peter Anvin --- Reading git-diff-tree failed