* issue with ixgbevf speed/duplex introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 @ 2014-11-07 16:36 Roberts, Lee A. [not found] ` <D64EC45690EF85409BA6C4730E0162244E988E64-MydGWqnAo3sSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Roberts, Lee A. @ 2014-11-07 16:36 UTC (permalink / raw) To: thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org Cc: dev-VfR2kkLFssw@public.gmane.org Thomas, I'm seeing an issue with ixgbevf speed/duplex reporting that appears to have been introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 (http://www.dpdk.org/browse/dpdk/commit/lib/librte_pmd_ixgbe/ixgbe/ixgbe_vf.c?id=8ef32003772a14c61c70b540e41c259c482c2fb6) The issue I'm seeing seems to involve the following code. If I'm reading this correctly, one sets "mac->get_link_status = true" if the port is not OK, where "true" means that one still needs to get the link status. Due to the added test "if (!mac->get_link_status)", one branches to the early exit if mac->get_link_status is false---meaning we have already obtained the link status---instead of continuing with the analysis in the function body. - if (!(hw->mbx.ops.check_for_rst(hw, 0))) { - *link_up = false; - *speed = 0; - return -1; - } + /* If we were hit with a reset drop the link */ + if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout) + mac->get_link_status = true; - links_reg = IXGBE_VFREAD_REG(hw, IXGBE_VFLINKS); + if (!mac->get_link_status) + goto out; When I run "testpmd" on ixgbevf ports either in the host OS or passed through to a virtual machine, "testpmd" reports that the ixgbevf ports have "speed 100 Mbps - half-duplex". With the previous code (or with my patch), "testpmd" reports "speed 10000 Mbps - full-duplex". - Lee Roberts ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <D64EC45690EF85409BA6C4730E0162244E988E64-MydGWqnAo3sSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>]
* Re: issue with ixgbevf speed/duplex introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 [not found] ` <D64EC45690EF85409BA6C4730E0162244E988E64-MydGWqnAo3sSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org> @ 2014-11-07 16:46 ` Thomas Monjalon 2014-11-27 17:36 ` Thomas Monjalon 0 siblings, 1 reply; 3+ messages in thread From: Thomas Monjalon @ 2014-11-07 16:46 UTC (permalink / raw) To: Roberts, Lee A.; +Cc: dev-VfR2kkLFssw Hi, Thank you for reporting and explaining the issue. You have already sent a bug report and a patch for this issue. Are you sending this email to ask a review and integration of your patch? I think it should be reviewed by an Intel developer. Note: it would be good to have the commit reference in the commit log of your patch. PS: in such case, it's better to reply to the previous emails Thanks -- Thomas 2014-11-07 16:36, Roberts, Lee A.: > I'm seeing an issue with ixgbevf speed/duplex reporting that appears to have been introduced with > commit 8ef32003772a14c61c70b540e41c259c482c2fb6 (http://www.dpdk.org/browse/dpdk/commit/lib/librte_pmd_ixgbe/ixgbe/ixgbe_vf.c?id=8ef32003772a14c61c70b540e41c259c482c2fb6) > > The issue I'm seeing seems to involve the following code. If I'm reading this correctly, > one sets "mac->get_link_status = true" if the port is not OK, where "true" means that one > still needs to get the link status. Due to the added test "if (!mac->get_link_status)", > one branches to the early exit if mac->get_link_status is false---meaning we have already > obtained the link status---instead of continuing with the analysis in the function body. > > - if (!(hw->mbx.ops.check_for_rst(hw, 0))) { > - *link_up = false; > - *speed = 0; > - return -1; > - } > + /* If we were hit with a reset drop the link */ > + if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout) > + mac->get_link_status = true; > > - links_reg = IXGBE_VFREAD_REG(hw, IXGBE_VFLINKS); > + if (!mac->get_link_status) > + goto out; > > When I run "testpmd" on ixgbevf ports either in the host OS or passed > through to a virtual machine, "testpmd" reports that the ixgbevf ports > have "speed 100 Mbps - half-duplex". With the previous code (or with > my patch), "testpmd" reports "speed 10000 Mbps - full-duplex". ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: issue with ixgbevf speed/duplex introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 2014-11-07 16:46 ` Thomas Monjalon @ 2014-11-27 17:36 ` Thomas Monjalon 0 siblings, 0 replies; 3+ messages in thread From: Thomas Monjalon @ 2014-11-27 17:36 UTC (permalink / raw) To: dev-VfR2kkLFssw Ping? There is still no review of this patch: http://dpdk.org/dev/patchwork/patch/1079/ And there is another patch for the same issue: http://dpdk.org/dev/patchwork/patch/1224/ 2014-11-07 17:46, Thomas Monjalon: > Hi, > > Thank you for reporting and explaining the issue. > > You have already sent a bug report and a patch for this issue. > Are you sending this email to ask a review and integration of your patch? > I think it should be reviewed by an Intel developer. > > Note: it would be good to have the commit reference in the commit log > of your patch. > > PS: in such case, it's better to reply to the previous emails > > Thanks > > I'm seeing an issue with ixgbevf speed/duplex reporting that appears to have been introduced with > > commit 8ef32003772a14c61c70b540e41c259c482c2fb6 (http://www.dpdk.org/browse/dpdk/commit/lib/librte_pmd_ixgbe/ixgbe/ixgbe_vf.c?id=8ef32003772a14c61c70b540e41c259c482c2fb6) > > > > The issue I'm seeing seems to involve the following code. If I'm reading this correctly, > > one sets "mac->get_link_status = true" if the port is not OK, where "true" means that one > > still needs to get the link status. Due to the added test "if (!mac->get_link_status)", > > one branches to the early exit if mac->get_link_status is false---meaning we have already > > obtained the link status---instead of continuing with the analysis in the function body. > > > > - if (!(hw->mbx.ops.check_for_rst(hw, 0))) { > > - *link_up = false; > > - *speed = 0; > > - return -1; > > - } > > + /* If we were hit with a reset drop the link */ > > + if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout) > > + mac->get_link_status = true; > > > > - links_reg = IXGBE_VFREAD_REG(hw, IXGBE_VFLINKS); > > + if (!mac->get_link_status) > > + goto out; > > > > When I run "testpmd" on ixgbevf ports either in the host OS or passed > > through to a virtual machine, "testpmd" reports that the ixgbevf ports > > have "speed 100 Mbps - half-duplex". With the previous code (or with > > my patch), "testpmd" reports "speed 10000 Mbps - full-duplex". > -- Thomas ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-11-27 17:36 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-07 16:36 issue with ixgbevf speed/duplex introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 Roberts, Lee A. [not found] ` <D64EC45690EF85409BA6C4730E0162244E988E64-MydGWqnAo3sSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org> 2014-11-07 16:46 ` Thomas Monjalon 2014-11-27 17:36 ` Thomas Monjalon
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).