DPDK patches and discussions
 help / color / mirror / Atom feed
From: Slava Ovsiienko <viacheslavo@mellanox.com>
To: "mmanning@vyatta.att-mail.com" <mmanning@vyatta.att-mail.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>,
	"Matan Azrad" <matan@mellanox.com>,
	"Shahaf Shuler" <shahafs@mellanox.com>,
	"Raslan Darawsheh" <rasland@mellanox.com>
Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix eagain on admin down
Date: Sat, 14 Dec 2019 09:40:28 +0000	[thread overview]
Message-ID: <AM4PR05MB32652F9293CB621FCDD9EF8FD2570@AM4PR05MB3265.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <5d69fcde-a7a1-d531-174d-0cb6c17dbdc7@vyatta.att-mail.com>

Hi, Mike

> -----Original Message-----
> From: Mike Manning <mmanning@vyatta.att-mail.com>
> Sent: Friday, December 13, 2019 17:12
> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Thomas Monjalon
> <thomas@monjalon.net>; dev@dpdk.org
> Cc: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>; Matan Azrad
> <matan@mellanox.com>; Shahaf Shuler <shahafs@mellanox.com>; Raslan
> Darawsheh <rasland@mellanox.com>
> Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix eagain on admin down
> 
> Hi Slava,
> Thanks, you are right - I retract my patch, as this was fixed in v19.08 by
> 6fd05da9efbd ("net/mlx5: fix link speed info when link is down") as per the
> line you indicate.
> 
> I should explain that we are using Debian 10 which uses v18.11, here we had a
> painful issue with the combination of this -EAGAIN and use of netlink to
> obtain the ifindex resulting in concurrent use of the netlink socket causing the
> calling thread to block indefinitely.

JFYI, there is the patch: http://patches.dpdk.org/patch/56813/
It provides caching for ifindex, netlink is not involved anymore.

With best regards, Slava


> 
> Regards
> Mike
> 
> On 13/12/2019 14:43, Slava Ovsiienko wrote:
> > Hi, Mike
> >
> > In the mlx5_link_update_unlocked_gs() the dev_link.link_speed is set like
> this:
> >
> > dev_link.link_speed = (ecmd->speed == UINT32_MAX) ?
> ETH_SPEED_NUM_NONE
> > :  ecmd->speed;
> >
> > So, dev_link.link_speed can't be assigned with -1. Do I misunderstand you
> commit message?
> >
> > With best regards, Slava
> >
> >> -----Original Message-----
> >> From: Thomas Monjalon <thomas@monjalon.net>
> >> Sent: Friday, December 13, 2019 0:31
> >> To: dev@dpdk.org
> >> Cc: Mike Manning <mmanning@vyatta.att-mail.com>; Nélio Laranjeiro
> >> <nelio.laranjeiro@6wind.com>; Matan Azrad <matan@mellanox.com>;
> Slava
> >> Ovsiienko <viacheslavo@mellanox.com>; Shahaf Shuler
> >> <shahafs@mellanox.com>; Raslan Darawsheh <rasland@mellanox.com>
> >> Subject: Re: [dpdk-dev] [PATCH] net/mlx5: fix eagain on admin down
> >>
> >> +Cc maintainers
> >>
> >> 09/12/2019 19:23, Mike Manning:
> >>> The check in mlx5_link_update_unlocked_gs() returns -EAGAIN if link
> >>> status does not correspond to link speed. If status is DOWN, the
> >>> speed is expected to be ETH_SPEED_NUM_NONE (0). But as the link
> >>> speed is -1 on admin down, modify the check to account for this.
> >>>
> >>> Fixes: cfee94752b8f ("net/mlx5: fix link status to use wait to
> >>> complete")
> >>> Cc: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>
> >>>
> >>> Signed-off-by: Mike Manning <mmanning@vyatta.att-mail.com>
> >>> ---
> >>>  drivers/net/mlx5/mlx5_ethdev.c | 4 ++--
> >>>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/drivers/net/mlx5/mlx5_ethdev.c
> >>> b/drivers/net/mlx5/mlx5_ethdev.c index d80ae458b..6ef2dfd74 100644
> >>> --- a/drivers/net/mlx5/mlx5_ethdev.c
> >>> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> >>> @@ -1031,8 +1031,8 @@ mlx5_link_update_unlocked_gs(struct
> >> rte_eth_dev *dev,
> >>>  				ETH_LINK_HALF_DUPLEX :
> >> ETH_LINK_FULL_DUPLEX);
> >>>  	dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
> >>>  				  ETH_LINK_SPEED_FIXED);
> >>> -	if (((dev_link.link_speed && !dev_link.link_status) ||
> >>> -	     (!dev_link.link_speed && dev_link.link_status))) {
> >>> +	if ((((int)dev_link.link_speed > 0 && !dev_link.link_status) ||
> >>> +	     ((int)dev_link.link_speed <= 0 && dev_link.link_status))) {
> >>>  		rte_errno = EAGAIN;
> >>>  		return -rte_errno;
> >>>  	}
> >>>
> >>
> >>
> >>


      reply	other threads:[~2019-12-14  9:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-09 18:23 Mike Manning
2019-12-12 22:30 ` Thomas Monjalon
2019-12-13 14:43   ` Slava Ovsiienko
2019-12-13 15:11     ` Mike Manning
2019-12-14  9:40       ` Slava Ovsiienko [this message]

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=AM4PR05MB32652F9293CB621FCDD9EF8FD2570@AM4PR05MB3265.eurprd05.prod.outlook.com \
    --to=viacheslavo@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.com \
    --cc=mmanning@vyatta.att-mail.com \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=rasland@mellanox.com \
    --cc=shahafs@mellanox.com \
    --cc=thomas@monjalon.net \
    /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 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).