staging: vchiq_util: get rid of unneeded memory barriers
All the memory operations featured in this file modify/access memory that is only accessed by the CPU. So we can assume that all the memory barrier handling done by the completion routines is good enough for us. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f27e47bc6b
commit
96f3371272
@ -84,20 +84,7 @@ void vchiu_queue_push(VCHIU_QUEUE_T *queue, VCHIQ_HEADER_T *header)
|
||||
flush_signals(current);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write to queue->storage must be visible after read from
|
||||
* queue->read
|
||||
*/
|
||||
smp_mb();
|
||||
|
||||
queue->storage[queue->write & (queue->size - 1)] = header;
|
||||
|
||||
/*
|
||||
* Write to queue->storage must be visible before write to
|
||||
* queue->write
|
||||
*/
|
||||
smp_wmb();
|
||||
|
||||
queue->write++;
|
||||
|
||||
complete(&queue->push);
|
||||
@ -112,12 +99,6 @@ VCHIQ_HEADER_T *vchiu_queue_peek(VCHIU_QUEUE_T *queue)
|
||||
|
||||
complete(&queue->push); // We haven't removed anything from the queue.
|
||||
|
||||
/*
|
||||
* Read from queue->storage must be visible after read from
|
||||
* queue->write
|
||||
*/
|
||||
smp_rmb();
|
||||
|
||||
return queue->storage[queue->read & (queue->size - 1)];
|
||||
}
|
||||
|
||||
@ -130,20 +111,7 @@ VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue)
|
||||
flush_signals(current);
|
||||
}
|
||||
|
||||
/*
|
||||
* Read from queue->storage must be visible after read from
|
||||
* queue->write
|
||||
*/
|
||||
smp_rmb();
|
||||
|
||||
header = queue->storage[queue->read & (queue->size - 1)];
|
||||
|
||||
/*
|
||||
* Read from queue->storage must be visible before write to
|
||||
* queue->read
|
||||
*/
|
||||
smp_mb();
|
||||
|
||||
queue->read++;
|
||||
|
||||
complete(&queue->pop);
|
||||
|
Loading…
x
Reference in New Issue
Block a user