diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2005-06-30 01:17:02 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-06-30 01:17:02 -0400 |
commit | 719d1cd86780c156f954fc34f34481adac197aec (patch) | |
tree | b9e0a5b98e64459ea4eba77cd9bf3839dbb3a0fd /include/asm-ppc64/iSeries | |
parent | ffe1b7e14e6b606bd84cab564aa2f481dbd4e418 (diff) |
[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/iSeries')
-rw-r--r-- | include/asm-ppc64/iSeries/ItLpQueue.h | 2 |
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 { | |||
69 | char *xSlicEventStackPtr; // 0x20 | 69 | char *xSlicEventStackPtr; // 0x20 |
70 | u8 xIndex; // 0x28 unique sequential index. | 70 | u8 xIndex; // 0x28 unique sequential index. |
71 | u8 xSlicRsvd[3]; // 0x29-2b | 71 | u8 xSlicRsvd[3]; // 0x29-2b |
72 | u32 xInUseWord; // 0x2C | 72 | spinlock_t lock; |
73 | }; | 73 | }; |
74 | 74 | ||
75 | extern struct hvlpevent_queue hvlpevent_queue; | 75 | extern struct hvlpevent_queue hvlpevent_queue; |