All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fm10k: Don't assume page fragments are page size
@ 2015-06-16 18:47 ` Alexander Duyck
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Duyck @ 2015-06-16 18:47 UTC (permalink / raw)
  To: netdev, intel-wired-lan, jeffrey.t.kirsher

This change pulls out the optimization that assumed that all fragments
would be limited to page size.  That hasn't been the case for some time now
and to assume this is incorrect as the TCP allocator can provide up to a
32K page fragment.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
---
 drivers/net/ethernet/intel/fm10k/fm10k_main.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 982fdcdc795b..620ff5e9dc59 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -1079,9 +1079,7 @@ netdev_tx_t fm10k_xmit_frame_ring(struct sk_buff *skb,
 	struct fm10k_tx_buffer *first;
 	int tso;
 	u32 tx_flags = 0;
-#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
 	unsigned short f;
-#endif
 	u16 count = TXD_USE_COUNT(skb_headlen(skb));
 
 	/* need: 1 descriptor per page * PAGE_SIZE/FM10K_MAX_DATA_PER_TXD,
@@ -1089,12 +1087,9 @@ netdev_tx_t fm10k_xmit_frame_ring(struct sk_buff *skb,
 	 *       + 2 desc gap to keep tail from touching head
 	 * otherwise try next time
 	 */
-#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
 	for (f = 0; f < skb_shinfo(skb)->nr_frags; f++)
 		count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size);
-#else
-	count += skb_shinfo(skb)->nr_frags;
-#endif
+
 	if (fm10k_maybe_stop_tx(tx_ring, count + 3)) {
 		tx_ring->tx_stats.tx_busy++;
 		return NETDEV_TX_BUSY;

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size
@ 2015-06-16 18:47 ` Alexander Duyck
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Duyck @ 2015-06-16 18:47 UTC (permalink / raw)
  To: intel-wired-lan

This change pulls out the optimization that assumed that all fragments
would be limited to page size.  That hasn't been the case for some time now
and to assume this is incorrect as the TCP allocator can provide up to a
32K page fragment.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
---
 drivers/net/ethernet/intel/fm10k/fm10k_main.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 982fdcdc795b..620ff5e9dc59 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -1079,9 +1079,7 @@ netdev_tx_t fm10k_xmit_frame_ring(struct sk_buff *skb,
 	struct fm10k_tx_buffer *first;
 	int tso;
 	u32 tx_flags = 0;
-#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
 	unsigned short f;
-#endif
 	u16 count = TXD_USE_COUNT(skb_headlen(skb));
 
 	/* need: 1 descriptor per page * PAGE_SIZE/FM10K_MAX_DATA_PER_TXD,
@@ -1089,12 +1087,9 @@ netdev_tx_t fm10k_xmit_frame_ring(struct sk_buff *skb,
 	 *       + 2 desc gap to keep tail from touching head
 	 * otherwise try next time
 	 */
-#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
 	for (f = 0; f < skb_shinfo(skb)->nr_frags; f++)
 		count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size);
-#else
-	count += skb_shinfo(skb)->nr_frags;
-#endif
+
 	if (fm10k_maybe_stop_tx(tx_ring, count + 3)) {
 		tx_ring->tx_stats.tx_busy++;
 		return NETDEV_TX_BUSY;


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size
  2015-06-16 18:47 ` [Intel-wired-lan] " Alexander Duyck
@ 2015-06-16 21:38   ` Keller, Jacob E
  -1 siblings, 0 replies; 6+ messages in thread
From: Keller, Jacob E @ 2015-06-16 21:38 UTC (permalink / raw)
  To: alexander.h.duyck; +Cc: netdev, Kirsher, Jeffrey T, intel-wired-lan

Acked-by: Jacob Keller <jacob.e.keller@intel.com>

Regards,
Jake

On Tue, 2015-06-16 at 11:47 -0700, Alexander Duyck wrote:
> This change pulls out the optimization that assumed that all 
> fragments
> would be limited to page size.  That hasn't been the case for some 
> time now
> and to assume this is incorrect as the TCP allocator can provide up 
> to a
> 32K page fragment.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
> ---
>  drivers/net/ethernet/intel/fm10k/fm10k_main.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c 
> b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> index 982fdcdc795b..620ff5e9dc59 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> @@ -1079,9 +1079,7 @@ netdev_tx_t fm10k_xmit_frame_ring(struct 
> sk_buff *skb,
>       struct fm10k_tx_buffer *first;
>       int tso;
>       u32 tx_flags = 0;
> -#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
>       unsigned short f;
> -#endif
>       u16 count = TXD_USE_COUNT(skb_headlen(skb));
>  
>       /* need: 1 descriptor per page * 
> PAGE_SIZE/FM10K_MAX_DATA_PER_TXD,
> @@ -1089,12 +1087,9 @@ netdev_tx_t fm10k_xmit_frame_ring(struct 
> sk_buff *skb,
>        *       + 2 desc gap to keep tail from touching head
>        * otherwise try next time
>        */
> -#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
>       for (f = 0; f < skb_shinfo(skb)->nr_frags; f++)
>               count += TXD_USE_COUNT(skb_shinfo(skb)
> ->frags[f].size);
> -#else
> -     count += skb_shinfo(skb)->nr_frags;
> -#endif
> +
>       if (fm10k_maybe_stop_tx(tx_ring, count + 3)) {
>               tx_ring->tx_stats.tx_busy++;
>               return NETDEV_TX_BUSY;
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size
@ 2015-06-16 21:38   ` Keller, Jacob E
  0 siblings, 0 replies; 6+ messages in thread
From: Keller, Jacob E @ 2015-06-16 21:38 UTC (permalink / raw)
  To: intel-wired-lan

Acked-by: Jacob Keller <jacob.e.keller@intel.com>

Regards,
Jake

On Tue, 2015-06-16 at 11:47 -0700, Alexander Duyck wrote:
> This change pulls out the optimization that assumed that all 
> fragments
> would be limited to page size.  That hasn't been the case for some 
> time now
> and to assume this is incorrect as the TCP allocator can provide up 
> to a
> 32K page fragment.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
> ---
>  drivers/net/ethernet/intel/fm10k/fm10k_main.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c 
> b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> index 982fdcdc795b..620ff5e9dc59 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
> @@ -1079,9 +1079,7 @@ netdev_tx_t fm10k_xmit_frame_ring(struct 
> sk_buff *skb,
>       struct fm10k_tx_buffer *first;
>       int tso;
>       u32 tx_flags = 0;
> -#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
>       unsigned short f;
> -#endif
>       u16 count = TXD_USE_COUNT(skb_headlen(skb));
>  
>       /* need: 1 descriptor per page * 
> PAGE_SIZE/FM10K_MAX_DATA_PER_TXD,
> @@ -1089,12 +1087,9 @@ netdev_tx_t fm10k_xmit_frame_ring(struct 
> sk_buff *skb,
>        *       + 2 desc gap to keep tail from touching head
>        * otherwise try next time
>        */
> -#if PAGE_SIZE > FM10K_MAX_DATA_PER_TXD
>       for (f = 0; f < skb_shinfo(skb)->nr_frags; f++)
>               count += TXD_USE_COUNT(skb_shinfo(skb)
> ->frags[f].size);
> -#else
> -     count += skb_shinfo(skb)->nr_frags;
> -#endif
> +
>       if (fm10k_maybe_stop_tx(tx_ring, count + 3)) {
>               tx_ring->tx_stats.tx_busy++;
>               return NETDEV_TX_BUSY;
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size
  2015-06-16 18:47 ` [Intel-wired-lan] " Alexander Duyck
@ 2015-09-02  2:00   ` Singh, Krishneil K
  -1 siblings, 0 replies; 6+ messages in thread
From: Singh, Krishneil K @ 2015-09-02  2:00 UTC (permalink / raw)
  To: Alexander Duyck, netdev, intel-wired-lan, Kirsher, Jeffrey T


-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On Behalf Of Alexander Duyck
Sent: Tuesday, June 16, 2015 11:47 AM
To: netdev@vger.kernel.org; intel-wired-lan@lists.osuosl.org; Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
Subject: [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size

This change pulls out the optimization that assumed that all fragments would be limited to page size.  That hasn't been the case for some time now and to assume this is incorrect as the TCP allocator can provide up to a 32K page fragment.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
---
 
Tested-By: Krishneil Singh <krishneil.k.singh@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size
@ 2015-09-02  2:00   ` Singh, Krishneil K
  0 siblings, 0 replies; 6+ messages in thread
From: Singh, Krishneil K @ 2015-09-02  2:00 UTC (permalink / raw)
  To: intel-wired-lan


-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On Behalf Of Alexander Duyck
Sent: Tuesday, June 16, 2015 11:47 AM
To: netdev@vger.kernel.org; intel-wired-lan at lists.osuosl.org; Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>
Subject: [Intel-wired-lan] [PATCH] fm10k: Don't assume page fragments are page size

This change pulls out the optimization that assumed that all fragments would be limited to page size.  That hasn't been the case for some time now and to assume this is incorrect as the TCP allocator can provide up to a 32K page fragment.

Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
---
 
Tested-By: Krishneil Singh <krishneil.k.singh@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan at lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-09-02  2:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-16 18:47 [PATCH] fm10k: Don't assume page fragments are page size Alexander Duyck
2015-06-16 18:47 ` [Intel-wired-lan] " Alexander Duyck
2015-06-16 21:38 ` Keller, Jacob E
2015-06-16 21:38   ` Keller, Jacob E
2015-09-02  2:00 ` Singh, Krishneil K
2015-09-02  2:00   ` Singh, Krishneil K

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.