summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc64
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-06-30 15:17:02 +1000
committerPaul Mackerras <paulus@samba.org>2005-06-30 15:17:02 +1000
commit719d1cd86780c156f954fc34f34481adac197aec (patch)
treeb9e0a5b98e64459ea4eba77cd9bf3839dbb3a0fd /include/asm-ppc64
parentffe1b7e14e6b606bd84cab564aa2f481dbd4e418 (diff)
downloadblackbird-op-linux-719d1cd86780c156f954fc34f34481adac197aec.tar.gz
blackbird-op-linux-719d1cd86780c156f954fc34f34481adac197aec.zip
[PATCH] ppc64: Replace custom locking code with a spinlock
The hvlpevent_queue (formally ItLpQueue) has a member called xInUseWord which is used for serialising access to the queue. Because it's a word (ie. 32 bit) there's a custom 32-bit version of test_and_set_bit() or thereabouts in ItLpQueue.c. The xInUseWord is not shared with they hypervisor, so we can replace it with a spinlock and remove the custom code. There is also another locking mechanism (ItLpQueueInProcess). This is redundant because it's only manipulated while the lock's held. Remove it. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-ppc64')
-rw-r--r--include/asm-ppc64/iSeries/ItLpQueue.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-ppc64/iSeries/ItLpQueue.h b/include/asm-ppc64/iSeries/ItLpQueue.h
index 51db08852dba..69b26ad74135 100644
--- a/include/asm-ppc64/iSeries/ItLpQueue.h
+++ b/include/asm-ppc64/iSeries/ItLpQueue.h
@@ -69,7 +69,7 @@ struct hvlpevent_queue {
char *xSlicEventStackPtr; // 0x20
u8 xIndex; // 0x28 unique sequential index.
u8 xSlicRsvd[3]; // 0x29-2b
- u32 xInUseWord; // 0x2C
+ spinlock_t lock;
};
extern struct hvlpevent_queue hvlpevent_queue;
OpenPOWER on IntegriCloud