[dpdk-dev,testpmd] enable lsc to avoid TX stall, TX stall happened in following sequence start show port info 0

Message ID 1444236843-3000-1-git-send-email-bie.jiuling@gmail.com (mailing list archive)
State Rejected, archived
Headers

Commit Message

Jiuling Bie Oct. 7, 2015, 4:54 p.m. UTC
  ---
 app/test-pmd/testpmd.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

De Lara Guarch, Pablo Oct. 13, 2015, 9:07 a.m. UTC | #1
Hi Jiuling,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jiuling Bie
> Sent: Wednesday, October 07, 2015 5:54 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [testpmd] enable lsc to avoid TX stall, TX stall happened
> in following sequence start show port info 0
> 
> ---
>  app/test-pmd/testpmd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 386bf84..45adefa 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1779,6 +1779,7 @@ init_port_config(void)
>  		port = &ports[pid];
>  		port->dev_conf.rxmode = rx_mode;
>  		port->dev_conf.fdir_conf = fdir_conf;
> +		port->dev_conf.intr_conf.lsc = 1;
>  		if (nb_rxq > 1) {
>  			port->dev_conf.rx_adv_conf.rss_conf.rss_key =
> NULL;
>  			port->dev_conf.rx_adv_conf.rss_conf.rss_hf =
> rss_hf;
> --
> 1.9.1

Several things about your patch:
-  It looks like this is your first patch (plus the other one you sent a few minutes later): take a look at http://dpdk.org/dev
- You forgot to sign off your patches (use --signoff with git commit)
- The title of this patch is too long, shorten it and include more information in the body of the commit message.
- I don't know what this patch is trying to solve exactly. It looks like you are saying that there is a bug
  that makes TX stop when you run the following commands:
   testpmd> start
   testpmd> show port info 0

I don't see such bug, could you explain better the steps to reproduce the issue?

Thanks,
Pablo
  
Jiuling Bie Oct. 13, 2015, 3:32 p.m. UTC | #2
Hi Pablo,

The issue is related to certain NIC(s). I observed this on Intel
82577LM(em). Basically show port info will read PHY registers to get link
status when lsc interrupt was disabled, which caused TX to stop. I don't
have other NICs so not sure it is a common issue or not.

Regards,
Jiuling

On Tue, Oct 13, 2015 at 5:07 AM, De Lara Guarch, Pablo <
pablo.de.lara.guarch@intel.com> wrote:

> Hi Jiuling,
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jiuling Bie
> > Sent: Wednesday, October 07, 2015 5:54 PM
> > To: dev@dpdk.org
> > Subject: [dpdk-dev] [testpmd] enable lsc to avoid TX stall, TX stall
> happened
> > in following sequence start show port info 0
> >
> > ---
> >  app/test-pmd/testpmd.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> > index 386bf84..45adefa 100644
> > --- a/app/test-pmd/testpmd.c
> > +++ b/app/test-pmd/testpmd.c
> > @@ -1779,6 +1779,7 @@ init_port_config(void)
> >               port = &ports[pid];
> >               port->dev_conf.rxmode = rx_mode;
> >               port->dev_conf.fdir_conf = fdir_conf;
> > +             port->dev_conf.intr_conf.lsc = 1;
> >               if (nb_rxq > 1) {
> >                       port->dev_conf.rx_adv_conf.rss_conf.rss_key =
> > NULL;
> >                       port->dev_conf.rx_adv_conf.rss_conf.rss_hf =
> > rss_hf;
> > --
> > 1.9.1
>
> Several things about your patch:
> -  It looks like this is your first patch (plus the other one you sent a
> few minutes later): take a look at http://dpdk.org/dev
> - You forgot to sign off your patches (use --signoff with git commit)
> - The title of this patch is too long, shorten it and include more
> information in the body of the commit message.
> - I don't know what this patch is trying to solve exactly. It looks like
> you are saying that there is a bug
>   that makes TX stop when you run the following commands:
>    testpmd> start
>    testpmd> show port info 0
>
> I don't see such bug, could you explain better the steps to reproduce the
> issue?
>
> Thanks,
> Pablo
>
>
  

Patch

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 386bf84..45adefa 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1779,6 +1779,7 @@  init_port_config(void)
 		port = &ports[pid];
 		port->dev_conf.rxmode = rx_mode;
 		port->dev_conf.fdir_conf = fdir_conf;
+		port->dev_conf.intr_conf.lsc = 1;
 		if (nb_rxq > 1) {
 			port->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL;
 			port->dev_conf.rx_adv_conf.rss_conf.rss_hf = rss_hf;