lkml.org 
[lkml]   [2018]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RFC 14/18] staging: vchiq_util: get rid of unneeded memory barriers
    Date
    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>
    ---
    .../interface/vchiq_arm/vchiq_util.c | 32 -------------------
    1 file changed, 32 deletions(-)

    diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
    index 44b954daa74a..4b8554bc647e 100644
    --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
    +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_util.c
    @@ -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);
    --
    2.19.1
    \
     
     \ /
      Last update: 2018-10-26 15:49    [W:3.207 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site