From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: stefan.wahren@i2se.com, eric@anholt.net, dave.stevenson@raspberrypi.org
Cc: linux-rpi-kernel@lists.infradead.org, gregkh@linuxfoundation.org,
linux-arm-kernel@lists.infradead.org, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org,
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Subject: [PATCH 12/16] staging: vchiq_util: get rid of unneeded memory barriers
Date: Tue, 20 Nov 2018 15:53:47 +0100 [thread overview]
Message-ID: <20181120145351.30390-13-nsaenzjulienne@suse.de> (raw)
In-Reply-To: <20181120145351.30390-1-nsaenzjulienne@suse.de>
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
next prev parent reply other threads:[~2018-11-20 14:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-20 14:53 [PATCH 00/16] staging: vchiq: dead code removal & misc fixes Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 01/16] staging: vchiq_core: rework vchiq_get_config Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 02/16] staging: vchiq_arm: rework close/remove_service IOCTLS Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 03/16] staging: vchiq_shim: delete vchi_service_create Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 04/16] staging: vchiq_arm: use list_for_each_entry when accessing bulk_waiter_list Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 05/16] staging: vchiq_arm: get rid of vchi_mh.h Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 06/16] staging: vchiq_arm: rework vchiq_ioc_copy_element_data Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 07/16] staging: vchiq-core: get rid of is_master distinction Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 08/16] staging: vchiq_core: remove unnecessary safety checks in vchiq_init_state Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 09/16] staging: vchiq_core: do not initialize semaphores twice Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 10/16] staging: vchiq_core: don't add a wmb() before remote_event_signal() Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 11/16] staging: vchiq: use completions instead of semaphores Nicolas Saenz Julienne
2018-11-20 14:53 ` Nicolas Saenz Julienne [this message]
2018-11-20 14:53 ` [PATCH 13/16] staging: vchiq_core: fix logic redundancy in parse_open Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 14/16] staging: vchiq_arm: rework probe and init functions Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 15/16] staging: vchiq_arm: fix open/release cdev functions Nicolas Saenz Julienne
2018-11-20 14:53 ` [PATCH 16/16] staging: vchiq: add more tasks to the TODO list Nicolas Saenz Julienne
2018-11-26 19:36 ` [PATCH 00/16] staging: vchiq: dead code removal & misc fixes Stefan Wahren
2018-11-27 9:13 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2018-11-14 12:59 Nicolas Saenz Julienne
2018-11-14 12:59 ` [PATCH 12/16] staging: vchiq_util: get rid of unneeded memory barriers Nicolas Saenz Julienne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181120145351.30390-13-nsaenzjulienne@suse.de \
--to=nsaenzjulienne@suse.de \
--cc=dave.stevenson@raspberrypi.org \
--cc=devel@driverdev.osuosl.org \
--cc=eric@anholt.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=stefan.wahren@i2se.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).