From: Alexander Duyck <alexander.duyck@gmail.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [next PATCH v3 1/9] igb: Add support for DMA_ATTR_WEAK_ORDERING
Date: Mon, 23 Jan 2017 08:58:07 -0800 [thread overview]
Message-ID: <20170123165801.13402.24644.stgit@localhost.localdomain> (raw)
In-Reply-To: <20170123165647.13402.1254.stgit@localhost.localdomain>
From: Alexander Duyck <alexander.h.duyck@intel.com>
Since we are already using DMA attributes in igb for Rx there is no reason
why we can't also apply DMA_ATTR_WEAK_ORDERING which is needed on some
platforms to improve performance.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
---
drivers/net/ethernet/intel/igb/igb.h | 3 +++
drivers/net/ethernet/intel/igb/igb_main.c | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index acbc3abe2ddd..87c9fe9d6f18 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -148,6 +148,9 @@ struct vf_data_storage {
/* How many Rx Buffers do we bundle into one write to the hardware ? */
#define IGB_RX_BUFFER_WRITE 16 /* Must be power of 2 */
+#define IGB_RX_DMA_ATTR \
+ (DMA_ATTR_SKIP_CPU_SYNC | DMA_ATTR_WEAK_ORDERING)
+
#define AUTO_ALL_MODES 0
#define IGB_EEPROM_APME 0x0400
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index cb08900c9cf2..eede6db6037c 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -3963,7 +3963,7 @@ static void igb_clean_rx_ring(struct igb_ring *rx_ring)
buffer_info->dma,
PAGE_SIZE,
DMA_FROM_DEVICE,
- DMA_ATTR_SKIP_CPU_SYNC);
+ IGB_RX_DMA_ATTR);
__page_frag_cache_drain(buffer_info->page,
buffer_info->pagecnt_bias);
@@ -6992,7 +6992,7 @@ static struct sk_buff *igb_fetch_rx_buffer(struct igb_ring *rx_ring,
*/
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
PAGE_SIZE, DMA_FROM_DEVICE,
- DMA_ATTR_SKIP_CPU_SYNC);
+ IGB_RX_DMA_ATTR);
__page_frag_cache_drain(page, rx_buffer->pagecnt_bias);
}
@@ -7252,7 +7252,7 @@ static bool igb_alloc_mapped_page(struct igb_ring *rx_ring,
/* map page for use */
dma = dma_map_page_attrs(rx_ring->dev, page, 0, PAGE_SIZE,
- DMA_FROM_DEVICE, DMA_ATTR_SKIP_CPU_SYNC);
+ DMA_FROM_DEVICE, IGB_RX_DMA_ATTR);
/* if mapping failed free memory back to system since
* there isn't much point in holding memory we can't use
next prev parent reply other threads:[~2017-01-23 16:58 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 16:57 [Intel-wired-lan] [next PATCH v3 0/9] igb: Add support for writable pages and build_skb Alexander Duyck
2017-01-23 16:58 ` Alexander Duyck [this message]
2017-01-23 16:58 ` [Intel-wired-lan] [next PATCH v3 2/9] igb: Use length to determine if descriptor is done Alexander Duyck
2017-01-23 16:58 ` [Intel-wired-lan] [next PATCH v3 3/9] igb: Clear Rx buffer_info in configure instead of clean Alexander Duyck
2017-01-23 16:58 ` [Intel-wired-lan] [next PATCH v3 4/9] igb: Don't bother clearing Tx buffer_info in igb_clean_tx_ring Alexander Duyck
2017-01-23 16:59 ` [Intel-wired-lan] [next PATCH v3 5/9] igb: Limit maximum frame Rx based on MTU Alexander Duyck
2017-01-23 16:59 ` [Intel-wired-lan] [next PATCH v3 6/9] igb: Add support for padding packet Alexander Duyck
2017-02-03 4:01 ` Brown, Aaron F
2017-02-03 17:58 ` Alexander Duyck
2017-02-04 0:39 ` Brown, Aaron F
2017-02-06 4:44 ` Alexander Duyck
2017-02-06 23:20 ` Brown, Aaron F
2017-02-07 1:15 ` Brown, Aaron F
2017-02-07 1:51 ` Alexander Duyck
2017-02-07 2:11 ` Alexander Duyck
2017-01-23 16:59 ` [Intel-wired-lan] [next PATCH v3 7/9] igb: Add support for ethtool private flag to allow use of legacy Rx Alexander Duyck
2017-01-23 16:59 ` [Intel-wired-lan] [next PATCH v3 8/9] igb: Break out Rx buffer page management Alexander Duyck
2017-01-23 16:59 ` [Intel-wired-lan] [next PATCH v3 9/9] igb: Re-add support for build_skb in igb Alexander Duyck
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=20170123165801.13402.24644.stgit@localhost.localdomain \
--to=alexander.duyck@gmail.com \
--cc=intel-wired-lan@osuosl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.