DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] igb: change default RX wthresh back
@ 2016-03-31  6:18 Wenzhuo Lu
  2016-03-31  7:29 ` Ananyev, Konstantin
  0 siblings, 1 reply; 3+ messages in thread
From: Wenzhuo Lu @ 2016-03-31  6:18 UTC (permalink / raw)
  To: dev; +Cc: Wenzhuo Lu

A problem is found on i350 VF. TX will happen once per 4
packets. If only 1~3 packets are received, they will not be
forwarded.

The reason is the default RX write-back threshold is changed
to 4. This patch changes the value back to 0, so every packet
can be handled immediately.

Fixes: 4a41c17dba18 (igb: set default thresholds based on MAC type)
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index bd0ae26..34120ae 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -64,7 +64,7 @@
 
 #define IGB_DEFAULT_RX_PTHRESH      ((hw->mac.type == e1000_i354) ? 12 : 8)
 #define IGB_DEFAULT_RX_HTHRESH      8
-#define IGB_DEFAULT_RX_WTHRESH      ((hw->mac.type == e1000_82576) ? 1 : 4)
+#define IGB_DEFAULT_RX_WTHRESH      0
 
 #define IGB_DEFAULT_TX_PTHRESH      ((hw->mac.type == e1000_i354) ? 20 : 8)
 #define IGB_DEFAULT_TX_HTHRESH      1
-- 
1.9.3

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

* Re: [dpdk-dev] [PATCH] igb: change default RX wthresh back
  2016-03-31  6:18 [dpdk-dev] [PATCH] igb: change default RX wthresh back Wenzhuo Lu
@ 2016-03-31  7:29 ` Ananyev, Konstantin
  2016-04-01  0:39   ` Lu, Wenzhuo
  0 siblings, 1 reply; 3+ messages in thread
From: Ananyev, Konstantin @ 2016-03-31  7:29 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: Lu, Wenzhuo


Hi Wenzhuo,
> 
> A problem is found on i350 VF. TX will happen once per 4
> packets. If only 1~3 packets are received, they will not be
> forwarded.
> 
> The reason is the default RX write-back threshold is changed
> to 4. This patch changes the value back to 0, so every packet
> can be handled immediately.
> 
> Fixes: 4a41c17dba18 (igb: set default thresholds based on MAC type)
> Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> ---
>  drivers/net/e1000/igb_ethdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index bd0ae26..34120ae 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -64,7 +64,7 @@
> 
>  #define IGB_DEFAULT_RX_PTHRESH      ((hw->mac.type == e1000_i354) ? 12 : 8)
>  #define IGB_DEFAULT_RX_HTHRESH      8
> -#define IGB_DEFAULT_RX_WTHRESH      ((hw->mac.type == e1000_82576) ? 1 : 4)
> +#define IGB_DEFAULT_RX_WTHRESH      0

But that still doesn't prevent user from setting wthresh to whatever he likes inside
rx_queue_setup(), so the problem persists right?
As a side notice, it seems really bad practice to use implicit variables inside macro definition. 
Konstantin

> 
>  #define IGB_DEFAULT_TX_PTHRESH      ((hw->mac.type == e1000_i354) ? 20 : 8)
>  #define IGB_DEFAULT_TX_HTHRESH      1
> --
> 1.9.3

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

* Re: [dpdk-dev] [PATCH] igb: change default RX wthresh back
  2016-03-31  7:29 ` Ananyev, Konstantin
@ 2016-04-01  0:39   ` Lu, Wenzhuo
  0 siblings, 0 replies; 3+ messages in thread
From: Lu, Wenzhuo @ 2016-04-01  0:39 UTC (permalink / raw)
  To: Ananyev, Konstantin, dev

Hi Konstantin,

> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Thursday, March 31, 2016 3:30 PM
> To: Lu, Wenzhuo; dev@dpdk.org
> Cc: Lu, Wenzhuo
> Subject: RE: [dpdk-dev] [PATCH] igb: change default RX wthresh back
> 
> 
> Hi Wenzhuo,
> >
> > A problem is found on i350 VF. TX will happen once per 4 packets. If
> > only 1~3 packets are received, they will not be forwarded.
> >
> > The reason is the default RX write-back threshold is changed to 4.
> > This patch changes the value back to 0, so every packet can be handled
> > immediately.
> >
> > Fixes: 4a41c17dba18 (igb: set default thresholds based on MAC type)
> > Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
> > ---
> >  drivers/net/e1000/igb_ethdev.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/e1000/igb_ethdev.c
> > b/drivers/net/e1000/igb_ethdev.c index bd0ae26..34120ae 100644
> > --- a/drivers/net/e1000/igb_ethdev.c
> > +++ b/drivers/net/e1000/igb_ethdev.c
> > @@ -64,7 +64,7 @@
> >
> >  #define IGB_DEFAULT_RX_PTHRESH      ((hw->mac.type == e1000_i354) ? 12 :
> 8)
> >  #define IGB_DEFAULT_RX_HTHRESH      8
> > -#define IGB_DEFAULT_RX_WTHRESH      ((hw->mac.type == e1000_82576) ?
> 1 : 4)
> > +#define IGB_DEFAULT_RX_WTHRESH      0
> 
> But that still doesn't prevent user from setting wthresh to whatever he likes
> inside rx_queue_setup(), so the problem persists right?
> As a side notice, it seems really bad practice to use implicit variables inside
> macro definition.
> Konstantin
Yes, you're right. It doesn't prevent the user from changing the value to trigger the problem.
I'll withdraw this patch and create another one for this problem. Thanks.

> 
> >
> >  #define IGB_DEFAULT_TX_PTHRESH      ((hw->mac.type == e1000_i354) ? 20 :
> 8)
> >  #define IGB_DEFAULT_TX_HTHRESH      1
> > --
> > 1.9.3

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

end of thread, other threads:[~2016-04-01  0:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-31  6:18 [dpdk-dev] [PATCH] igb: change default RX wthresh back Wenzhuo Lu
2016-03-31  7:29 ` Ananyev, Konstantin
2016-04-01  0:39   ` Lu, Wenzhuo

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).