From: Alexander Duyck <alexander.h.duyck@redhat.com>
To: netdev@vger.kernel.org
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>, davem@davemloft.net
Subject: [net-next PATCH 4/4] e100: Use dma_rmb/wmb where appropriate
Date: Wed, 08 Apr 2015 18:49:49 -0700 [thread overview]
Message-ID: <20150409014949.4434.29969.stgit@ahduyck-vm-fedora22> (raw)
In-Reply-To: <20150409014001.4434.85280.stgit@ahduyck-vm-fedora22>
Reduce the CPU overhead for transmit and receive by using lightweight dma_
barriers instead of full barriers where they are applicable.
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
---
drivers/net/ethernet/intel/e100.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 05f88394f9a5..1a450f4b6b12 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -899,7 +899,7 @@ static int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
/* Order is important otherwise we'll be in a race with h/w:
* set S-bit in current first, then clear S-bit in previous. */
cb->command |= cpu_to_le16(cb_s);
- wmb();
+ dma_wmb();
cb->prev->command &= cpu_to_le16(~cb_s);
while (nic->cb_to_send != nic->cb_to_use) {
@@ -1843,7 +1843,7 @@ static int e100_tx_clean(struct nic *nic)
for (cb = nic->cb_to_clean;
cb->status & cpu_to_le16(cb_complete);
cb = nic->cb_to_clean = cb->next) {
- rmb(); /* read skb after status */
+ dma_rmb(); /* read skb after status */
netif_printk(nic, tx_done, KERN_DEBUG, nic->netdev,
"cb[%d]->status = 0x%04X\n",
(int)(((void*)cb - (void*)nic->cbs)/sizeof(struct cb)),
@@ -1993,7 +1993,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
netif_printk(nic, rx_status, KERN_DEBUG, nic->netdev,
"status=0x%04X\n", rfd_status);
- rmb(); /* read size after status bit */
+ dma_rmb(); /* read size after status bit */
/* If data isn't ready, nothing to indicate */
if (unlikely(!(rfd_status & cb_complete))) {
next prev parent reply other threads:[~2015-04-09 1:49 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-09 1:49 [net-next PATCH 0/4] Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate, round 2 Alexander Duyck
2015-04-09 1:49 ` [net-next PATCH 1/4] cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate Alexander Duyck
2015-04-09 1:49 ` [net-next PATCH 2/4] mlx4/mlx5: Use dma_wmb/rmb " Alexander Duyck
2015-04-09 1:49 ` [net-next PATCH 3/4] i40e/i40evf: Use dma_rmb " Alexander Duyck
2015-04-09 2:52 ` Jeff Kirsher
2015-04-09 1:49 ` Alexander Duyck [this message]
2015-04-09 2:48 ` [net-next PATCH 4/4] e100: Use dma_rmb/wmb " Jeff Kirsher
2015-04-09 2:36 ` [net-next PATCH 0/4] Replace wmb()/rmb() with dma_wmb()/dma_rmb() where appropriate, round 2 David Miller
2015-04-09 2:46 ` Alexander Duyck
2015-04-09 18:32 ` David Miller
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=20150409014949.4434.29969.stgit@ahduyck-vm-fedora22 \
--to=alexander.h.duyck@redhat.com \
--cc=davem@davemloft.net \
--cc=jeffrey.t.kirsher@intel.com \
--cc=netdev@vger.kernel.org \
/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