[PATCH] net/ice: fix get link status timeout

Ye, MingjinX mingjinx.ye at intel.com
Mon Feb 6 11:51:58 CET 2023



> -----Original Message-----
> From: 韩爽 <hanshuang at qianxin.com>
> Sent: 2023年2月6日 15:57
> To: Thomas Monjalon <thomas at monjalon.net>; Ye, MingjinX
> <mingjinx.ye at intel.com>
> Cc: dev at dpdk.org; stable at dpdk.org; Zhou, YidingX
> <yidingx.zhou at intel.com>; Yang, Qiming <qiming.yang at intel.com>; Zhang,
> Qi Z <qi.z.zhang at intel.com>; Ye, MingjinX <mingjinx.ye at intel.com>;
> david.marchand at redhat.com; ferruh.yigit at amd.com
> Subject: Re: [PATCH] net/ice: fix get link status timeout
> 
> 
> 
> > -----Original Message-----
> > From: Thomas Monjalon <thomas at monjalon.net>
> > Sent: Monday, February 06, 2023 3:23 PM
> > To: Mingjin Ye <mingjinx.ye at intel.com>
> > Cc: dev at dpdk.org; stable at dpdk.org; yidingx.zhou at intel.com; Qiming
> Yang
> > <qiming.yang at intel.com>; Qi Zhang <qi.z.zhang at intel.com>; Mingjin Ye
> > <mingjinx.ye at intel.com>; david.marchand at redhat.com;
> > ferruh.yigit at amd.com
> > Subject: Re: [PATCH] net/ice: fix get link status timeout
> >
> > 06/02/2023 07:22, Mingjin Ye:
> > > When hw is just started, it will immediately obtain the link status,
> > > and the longest attempt is 1 second. Some NICs are slow to
> > > initialize, which make it fails to obtain the link status.
> > >
> > > The patch fixes this issue by modifying the longest attempt to 5 seconds.
> >
> > What is the consequence?
> > In which case, DPDK application would be blocked during 5 seconds?
> >
> 
> I think ice_link_update with wait_to_complete needs to be optimized when
> ice_link_update.
> Our system integrates dozens or more interfaces(E810), even if wait 1
> second, the system starts very slowly.

Your proposal is very interesting. We will discuss this in our internal meeting.
Just verified some issues:
----------------------------------------------------------------------------------------------
ice_dev_start
	ice_dev_set_link_up
		ice_link_update(dev, 1)
e810 takes 700ms, e823 takes 1980ms.
-----------------------------------------------------------------------------------------------
ice_dev_start
	ice_dev_set_link_up
		sleep(5)
		ice_link_update(dev, 1)
 e810 and e823 need about 5~8ms.	
-----------------------------------------------------------------------------------------------
The execution timing of ice_link_update needs to be optimized. The root cause is
that the hw  needs time to complete initialization. This involves initializing the hw, 
which can be a lot of work. 
This is not the same issue that the current patch solves.


More information about the stable mailing list