Message ID | 20180131005112.19264.46341.stgit@localhost6.localdomain6 |
---|---|
State | Accepted |
Delegated to: | Jeff Kirsher |
Headers | show |
Series | ixgbevf: build_skb support and related changes | expand |
> -----Original Message----- > From: Intel-wired-lan [mailto:intel-wired-lan-bounces@osuosl.org] On Behalf Of > Emil Tantilov > Sent: Tuesday, January 30, 2018 4:51 PM > To: intel-wired-lan@lists.osuosl.org > Subject: [Intel-wired-lan] [PATCH 1/9] ixgbevf: use page_address offset from > page > > Based on commit 3456fd53421e > ("igb: Use page_address offset from page instead of masking virtual address") > > Update the handling of page addresses so that we always refer to them using > a void pointer, and try to use the consistent name of va indicating we are > working with a virtual address. > > Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> > --- > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c > b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c > index 9b3d43d..604b026 100644 > --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c > +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c > @@ -795,7 +795,7 @@ static bool ixgbevf_add_rx_frag(struct ixgbevf_ring > *rx_ring, > struct sk_buff *skb) > { > struct page *page = rx_buffer->page; > - unsigned char *va = page_address(page) + rx_buffer->page_offset; > + void *va = page_address(page) + rx_buffer->page_offset; > #if (PAGE_SIZE < 8192) > unsigned int truesize = IXGBEVF_RX_BUFSZ; > #else > @@ -831,7 +831,7 @@ static bool ixgbevf_add_rx_frag(struct ixgbevf_ring > *rx_ring, > > add_tail_frag: > skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, > - (unsigned long)va & ~PAGE_MASK, size, truesize); > + va - page_address(page), size, truesize); > > return ixgbevf_can_reuse_rx_page(rx_buffer, page, truesize); > } > @@ -856,13 +856,12 @@ static struct sk_buff *ixgbevf_fetch_rx_buffer(struct > ixgbevf_ring *rx_ring, > DMA_FROM_DEVICE); > > if (likely(!skb)) { > - void *page_addr = page_address(page) + > - rx_buffer->page_offset; > + void *va = page_address(page) + rx_buffer->page_offset; > > /* prefetch first cache line of first page */ > - prefetch(page_addr); > + prefetch(va); > #if L1_CACHE_BYTES < 128 > - prefetch(page_addr + L1_CACHE_BYTES); > + prefetch(va + L1_CACHE_BYTES); > #endif > > /* allocate a skb to store the frags */ > > _______________________________________________ > Intel-wired-lan mailing list > Intel-wired-lan@osuosl.org > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 9b3d43d..604b026 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -795,7 +795,7 @@ static bool ixgbevf_add_rx_frag(struct ixgbevf_ring *rx_ring, struct sk_buff *skb) { struct page *page = rx_buffer->page; - unsigned char *va = page_address(page) + rx_buffer->page_offset; + void *va = page_address(page) + rx_buffer->page_offset; #if (PAGE_SIZE < 8192) unsigned int truesize = IXGBEVF_RX_BUFSZ; #else @@ -831,7 +831,7 @@ static bool ixgbevf_add_rx_frag(struct ixgbevf_ring *rx_ring, add_tail_frag: skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page, - (unsigned long)va & ~PAGE_MASK, size, truesize); + va - page_address(page), size, truesize); return ixgbevf_can_reuse_rx_page(rx_buffer, page, truesize); } @@ -856,13 +856,12 @@ static struct sk_buff *ixgbevf_fetch_rx_buffer(struct ixgbevf_ring *rx_ring, DMA_FROM_DEVICE); if (likely(!skb)) { - void *page_addr = page_address(page) + - rx_buffer->page_offset; + void *va = page_address(page) + rx_buffer->page_offset; /* prefetch first cache line of first page */ - prefetch(page_addr); + prefetch(va); #if L1_CACHE_BYTES < 128 - prefetch(page_addr + L1_CACHE_BYTES); + prefetch(va + L1_CACHE_BYTES); #endif /* allocate a skb to store the frags */
Based on commit 3456fd53421e ("igb: Use page_address offset from page instead of masking virtual address") Update the handling of page addresses so that we always refer to them using a void pointer, and try to use the consistent name of va indicating we are working with a virtual address. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> --- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)