[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dpdk-users
Subject:    RE: IXGBE LSC IRQ issue
From:       "Zhang, Qi Z" <qi.z.zhang () intel ! com>
Date:       2022-03-13 12:22:31
Message-ID: b42a7220432b4e19af6971ea38b0af09 () intel ! com
[Download RAW message or body]

this is not a patch, but an issue report, suggest to fire a ticket on Bugzilla \
https://bugs.dpdk.org/


From: Bly, Mike <mbly@ciena.com>
Sent: Saturday, March 5, 2022 9:42 AM
To: dev@dpdk.org; users@dpdk.org
Subject: IXGBE LSC IRQ issue

Hello,

We recently ran into an issue with DPDK 20.11 for the IXGBE driver operating in 10G \
BASE-T mode. We have been able to replicate this behavior using dpdk-testpmd and do \
not see any recent/pertinent updates, so we are hopeful someone may be able to advise \
based on the information provided below. On the surface, based on our investigation, \
it would appear the current link-down transition logic does not correctly preserve \
IRQ mask configurations, specifically LSC, when a link partner causes some sort of \
slow or bounced link down event. Background:
We recently started using a new 3rd party traffic generator card for testing our \
application. We found when using this card in 10G BASE-T mode and toggling link \
up/down, it would correctly cause our application to detect the port to be down in \
our DPDK design. However, the link down event handling by the DPDK IXGBE driver \
appears to permanently disable its LSC IRQ detection on the first port down event \
such that any subsequent link up or down events from the external test card on this \
port would no longer be detected. The only way to restore link up was to restart the \
DPDK port in our design (stop/start). Having looked at this a bit, we switched over \
to the classic testpmd application and observed the exact same behavior.

Here is the data we believe you would find interesting:

NIC in question:

# lspci -D -nn | grep -F [0200] | grep 552
0000:03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection \
X552/X557-AT 10GBASE-T [8086:15ad] 0000:03:00.1 Ethernet controller [0200]: Intel \
Corporation Ethernet Connection X552/X557-AT 10GBASE-T [8086:15ad] # dpdk-devbind.py \
-s | grep 552 0000:03:00.0 'Ethernet Connection X552/X557-AT 10GBASE-T 15ad' \
drv=vfio-pci unused=uio_pci_generic 0000:03:00.1 'Ethernet Connection X552/X557-AT \
10GBASE-T 15ad' drv=vfio-pci unused=uio_pci_generic

We made the following debug logging changes to try an capture interesting data to \
share:

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 5a30c39593..75a9f9163b 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4497,7 +4497,7 @@ ixgbe_dev_interrupt_get_status(struct rte_eth_dev *dev)

     /* read-on-clear nic registers here */
    eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
-    PMD_DRV_LOG(DEBUG, "eicr %x", eicr);
+    PMD_DRV_LOG(ERR, "eicr %x", eicr);

     intr->flags = 0;

@@ -4614,7 +4613,7 @@ ixgbe_dev_interrupt_action(struct rte_eth_dev *dev)
          }
    }

-    PMD_DRV_LOG(DEBUG, "enable intr immediately");
+    PMD_DRV_LOG(ERR, "enable intr immediately, mask: 0x%08x, orig: 0x%08x, flags: \
0x%08x", intr->mask, intr->mask_original, intr->flags);  ixgbe_enable_intr(dev);

     return 0;
@@ -4648,7 +4647,9 @@ ixgbe_dev_interrupt_delayed_handler(void *param)

     ixgbe_disable_intr(hw);

-    eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
+   eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
+   PMD_DRV_LOG(ERR, "in delay func: eicr 0x%08x", eicr);
+   PMD_DRV_LOG(ERR, "enable intr delayed, mask: 0x%08x, orig: 0x%08x, flags: \
0x%08x", intr->mask, intr->mask_original, intr->flags);  if (eicr & \
IXGBE_EICR_MAILBOX)  ixgbe_pf_mbx_process(dev);

With the above "log-err" additions, we have provided the following results. The first \
set of data below was generated using an older 3rd party traffic generator card to \
provide "good" results that show the IXGBE driver working correctly. Following that \
are the non-working (bad) logging results for the new traffic generator card. Both \
3rd party cards correctly transition between down and up states.


######################################################################
# good sequence, both down detection and then up detection
######################################################################
# port transition from up to down
<27>1 2022-03-05T00:12:11.415436+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr \
100000 <27>1 2022-03-05T00:12:11.415489+00:00 - -  ixgbe_dev_interrupt_action(): \
enable intr immediately, mask: 0x02200000, orig: 0x02300000, flags: 0x00000001 <27>1 \
2022-03-05T00:12:11.425448+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr 2000000 \
<27>1 2022-03-05T00:12:11.446191+00:00 - -  ixgbe_dev_interrupt_action(): enable intr \
immediately, mask: 0x02200000, orig: 0x02300000, flags: 0x00000000 <27>1 \
2022-03-05T00:12:15.415600+00:00 - -  ixgbe_dev_interrupt_delayed_handler(): in delay \
func: eicr 0x00000000 <27>1 2022-03-05T00:12:15.415655+00:00 - -  \
ixgbe_dev_interrupt_delayed_handler(): enable intr delayed, mask: 0x02200000, orig: \
0x02300000, flags: 0x00000000

# port transition from down to up
<27>1 2022-03-05T00:12:33.856734+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr \
2000000 <27>1 2022-03-05T00:12:33.877463+00:00 - -  ixgbe_dev_interrupt_action(): \
enable intr immediately, mask: 0x02300000, orig: 0x00000000, flags: 0x00000000 <27>1 \
2022-03-05T00:12:34.203274+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr 100000 \
<27>1 2022-03-05T00:12:34.207905+00:00 - -  ixgbe_dev_interrupt_action(): enable intr \
immediately, mask: 0x02200000, orig: 0x02300000, flags: 0x00000001 <27>1 \
2022-03-05T00:12:35.207994+00:00 - -  ixgbe_dev_interrupt_delayed_handler(): in delay \
func: eicr 0x00100000 <27>1 2022-03-05T00:12:35.208027+00:00 - -  \
ixgbe_dev_interrupt_delayed_handler(): enable intr delayed, mask: 0x02200000, orig: \
0x02300000, flags: 0x00000001

######################################################################
# bad sequence, detects down event, but does not see the up event
######################################################################
# port transition from up to down
<27>1 2022-03-05T00:13:00.377072+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr \
100000 <27>1 2022-03-05T00:13:00.377127+00:00 - -  ixgbe_dev_interrupt_action(): \
enable intr immediately, mask: 0x02200000, orig: 0x02300000, flags: 0x00000001 <27>1 \
2022-03-05T00:13:00.643788+00:00 - -  ixgbe_dev_interrupt_get_status(): eicr 2100000 \
<27>1 2022-03-05T00:13:00.664603+00:00 - -  ixgbe_dev_interrupt_action(): enable intr \
immediately, mask: 0x02200000, orig: 0x02200000, flags: 0x00000001 <27>1 \
2022-03-05T00:13:01.664703+00:00 - -  ixgbe_dev_interrupt_delayed_handler(): in delay \
func: eicr 0x00000000 <27>1 2022-03-05T00:13:01.664738+00:00 - -  \
ixgbe_dev_interrupt_delayed_handler(): enable intr delayed, mask: 0x02200000, orig: \
0x02200000, flags: 0x00000001 <27>1 2022-03-05T00:13:04.377237+00:00 - -  \
ixgbe_dev_interrupt_delayed_handler(): in delay func: eicr 0x00000000 <27>1 \
2022-03-05T00:13:04.377269+00:00 - -  ixgbe_dev_interrupt_delayed_handler(): enable \
intr delayed, mask: 0x02200000, orig: 0x00000000, flags: 0x00000000

# port transition from down to up
<nothing happens as LSC IRQ is not enabled due to above link-down sequence>

Let me know what additional data can be provided to help root cause this.

-Mike


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:DengXian;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@DengXian";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1498154188;
	mso-list-type:hybrid;
	mso-list-template-ids:-183355786 -1685025914 67698691 67698693 67698689 67698691 \
67698693 67698689 67698691 67698693;} @list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:DengXian;}
@list l0:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">this is not a patch, but an issue report, suggest to fire a \
ticket on Bugzilla <a href="https://bugs.dpdk.org/">https://bugs.dpdk.org/</a> \
<o:p></o:p></p> <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Bly, Mike &lt;mbly@ciena.com&gt; <br>
<b>Sent:</b> Saturday, March 5, 2022 9:42 AM<br>
<b>To:</b> dev@dpdk.org; users@dpdk.org<br>
<b>Subject:</b> IXGBE LSC IRQ issue<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">We recently ran into an issue with \
DPDK 20.11 for the IXGBE driver operating in 10G BASE-T mode. We have been able to \
replicate this behavior using dpdk-testpmd and do not see any recent/pertinent \
updates, so  we are hopeful someone may be able to advise based on the information \
provided below. On the surface, based on our investigation, it would appear the \
current link-down transition logic does not correctly preserve IRQ mask \
configurations, specifically LSC,  when a link partner causes some sort of slow or \
bounced link down event.<o:p></o:p></p> <p class="MsoNormal">Background: <br>
We recently started using a new 3<sup>rd</sup> party traffic generator card for \
testing our application. We found when using this card in 10G BASE-T mode and \
toggling link up/down, it would correctly cause our application to detect the port to \
be down in our  DPDK design. However, the link down event handling by the DPDK IXGBE \
driver appears to permanently disable its LSC IRQ detection on the first port down \
event such that any subsequent link up or down events from the external test card on \
this port would no  longer be detected. The only way to restore link up was to \
restart the DPDK port in our design (stop/start). Having looked at this a bit, we \
switched over to the classic testpmd application and observed the exact same \
behavior.<o:p></o:p></p> <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Here is the data we believe you would find \
interesting:<o:p></o:p></p> <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">NIC in question:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># lspci -D -nn \
| grep -F [0200] | grep 552<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">0000:03:00.0 Ethernet controller [0200]: \
Intel Corporation Ethernet Connection X552/X557-AT 10GBASE-T \
[8086:15ad]<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">0000:03:00.1 Ethernet controller [0200]: \
Intel Corporation Ethernet Connection X552/X557-AT 10GBASE-T \
[8086:15ad]<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"># dpdk-devbind.py -s | grep \
552<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">0000:03:00.0 'Ethernet Connection X552/X557-AT 10GBASE-T 15ad' \
drv=vfio-pci unused=uio_pci_generic<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">0000:03:00.1 'Ethernet Connection \
X552/X557-AT 10GBASE-T 15ad' drv=vfio-pci \
unused=uio_pci_generic<o:p></o:p></span></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <p class="MsoNormal">We made the following \
debug logging changes to try an capture interesting data to share:<o:p></o:p></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">diff --git \
a/drivers/net/ixgbe/ixgbe_ethdev.c \
b/drivers/net/ixgbe/ixgbe_ethdev.c<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">index 5a30c39593..75a9f9163b \
100644<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">--- \
a/drivers/net/ixgbe/ixgbe_ethdev.c<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&#43;&#43;&#43; \
b/drivers/net/ixgbe/ixgbe_ethdev.c<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">@@ -4497,7 &#43;4497,7 @@ \
ixgbe_dev_interrupt_get_status(struct rte_eth_dev *dev)<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp;&nbsp;&nbsp; /* read-on-clear \
nic registers here */<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp;&nbsp; eicr = \
IXGBE_READ_REG(hw, IXGBE_EICR);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">-&nbsp;&nbsp;&nbsp; PMD_DRV_LOG(DEBUG, \
&quot;eicr %x&quot;, eicr);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp;&nbsp; PMD_DRV_LOG(ERR, \
&quot;eicr %x&quot;, eicr);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp;&nbsp; intr-&gt;flags = 0;<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">@@ -4614,7 &#43;4613,7 @@ \
ixgbe_dev_interrupt_action(struct rte_eth_dev *dev)<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">-&nbsp;&nbsp;&nbsp; PMD_DRV_LOG(DEBUG, &quot;enable intr \
immediately&quot;);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp;&nbsp; PMD_DRV_LOG(ERR, \
&quot;enable intr immediately, mask: 0x%08x, orig: 0x%08x, flags: 0x%08x&quot;, \
intr-&gt;mask, intr-&gt;mask_original, intr-&gt;flags);<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp; ixgbe_enable_intr(dev);<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp;&nbsp;&nbsp; return \
0;<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">@@ -4648,7 &#43;4647,9 @@ ixgbe_dev_interrupt_delayed_handler(void \
*param)<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp;&nbsp; ixgbe_disable_intr(hw);<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">-&nbsp;&nbsp;&nbsp; eicr = \
IXGBE_READ_REG(hw, IXGBE_EICR);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp; eicr = \
IXGBE_READ_REG(hw, IXGBE_EICR);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp; PMD_DRV_LOG(ERR, \
&quot;in delay func: eicr 0x%08x&quot;, eicr);<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier New&quot;">&#43;&nbsp;&nbsp; \
PMD_DRV_LOG(ERR, &quot;enable intr delayed, mask: 0x%08x, orig: 0x%08x, flags: \
0x%08x&quot;, intr-&gt;mask, intr-&gt;mask_original, \
intr-&gt;flags);<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&nbsp;&nbsp;&nbsp; if (eicr &amp; \
IXGBE_EICR_MAILBOX)<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier \
New&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
ixgbe_pf_mbx_process(dev);<o:p></o:p></span></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <p class="MsoNormal">With the above \
&#8220;log-err&#8221; additions, we have provided the following results. The first \
set of data below was generated using an older 3<sup>rd</sup> party traffic generator \
card to provide &#8220;good&#8221; results that show the IXGBE driver working  \
correctly. Following that are the non-working (bad) logging results for the new \
traffic generator card. Both 3<sup>rd</sup> party cards correctly transition between \
down and up states.<o:p></o:p></p> <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">######################################################################<o:p></o:p></span></p>
 <p class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># good \
sequence, both down detection and then up detection<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">######################################################################<o:p></o:p></span></p>
 <p class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># port \
transition from up to down<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:11.415436&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
100000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:11.415489&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:11.425448&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
2000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:11.446191&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:15.415600&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
in delay func: eicr 0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:15.415655&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
enable intr delayed, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># port transition \
from down to up<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:33.856734&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
2000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:33.877463&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02300000, orig: 0x00000000, flags: \
0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:34.203274&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
100000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:34.207905&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:35.207994&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
in delay func: eicr 0x00100000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:12:35.208027&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
enable intr delayed, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">######################################################################<o:p></o:p></span></p>
 <p class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># bad \
sequence, detects down event, but does not see the up event<o:p></o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier \
New&quot;">######################################################################<o:p></o:p></span></p>
 <p class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># port \
transition from up to down<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:00.377072&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
100000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:00.377127&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02200000, orig: 0x02300000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:00.643788&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_get_status(): eicr \
2100000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:00.664603&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_action(): enable \
intr immediately, mask: 0x02200000, orig: 0x02200000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:01.664703&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
in delay func: eicr 0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:01.664738&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
enable intr delayed, mask: 0x02200000, orig: 0x02200000, flags: \
0x00000001<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:04.377237&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
in delay func: eicr 0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;27&gt;1 \
2022-03-05T00:13:04.377269&#43;00:00 - -&nbsp; ixgbe_dev_interrupt_delayed_handler(): \
enable intr delayed, mask: 0x02200000, orig: 0x00000000, flags: \
0x00000000<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;"><o:p>&nbsp;</o:p></span></p> <p \
class="MsoNormal"><span style="font-family:&quot;Courier New&quot;"># port transition \
from down to up<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="font-family:&quot;Courier New&quot;">&lt;nothing happens as LSC IRQ is not \
enabled due to above link-down sequence&gt;<o:p></o:p></span></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <p class="MsoNormal">Let me know what \
additional data can be provided to help root cause this.<o:p></o:p></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <p class="MsoNormal">-Mike<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic