<html><head></head><body><div id="lark-mail-quote-fcb3b6654ee1dc14474e2423579e8480"><div id="editor_version_7.41.0_79ImNuPy" style="word-break:break-word;"><div data-zone-id="0" data-line-index="0" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;">It's 1ms, not 1 second. </div></div><div data-zone-id="0" data-line-index="1" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;">It's a workaround, just to provide a fast and dirty fix for someone who needs this.</div></div><div data-zone-id="0" data-line-index="2" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="3" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="4" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;">From: "Stephen Hemminger"<<a class="quote-head-meta-mailto" target="_blank" rel="noopener noreferrer" href="mailto:stephen@networkplumber.org" style="cursor: pointer; text-decoration: none; color: inherit;">stephen@networkplumber.org</a>></div></div></div><div class="history-quote-wrapper" id="lark-mail-quote-174675883" style="word-break: break-word;"><div class="history-quote-meta-wrapper adit-html-block__attr history-quote-gap-tag" style="padding: 12px; background: rgb(245, 246, 247); color: rgb(31, 35, 41); border-radius: 4px; margin-top: 24px; margin-bottom: 12px;" id="lark-mail-meta-MTGnq2nyh"><div data-zone-id="0" data-line-index="5" data-line="true" style="margin: 0px;" class="history-quote-line quote-head-meta-line"><div class="" dir="auto">Date: Tue, Oct 8, 2024, 01:54</div></div><div data-zone-id="0" data-line-index="6" data-line="true" style="margin: 0px;" class="history-quote-line quote-head-meta-line"><div class="" dir="auto">Subject: [External] Re: [PATCH] mlx5: fix race at mlx5_dev_close</div></div><div data-zone-id="0" data-line-index="7" data-line="true" style="margin: 0px;" class="history-quote-line quote-head-meta-line"><div class="" dir="auto">To: "hepeng"<<a class="quote-head-meta-mailto" target="_blank" rel="noopener noreferrer" href="mailto:hepeng.0320@bytedance.com" style="cursor: pointer; text-decoration: none; color: inherit;">hepeng.0320@bytedance.com</a>></div></div><div data-zone-id="0" data-line-index="8" data-line="true" style="margin: 0px;" class="history-quote-line quote-head-meta-line"><div class="" dir="auto">Cc: <<a class="quote-head-meta-mailto" target="_blank" rel="noopener noreferrer" href="mailto:dev@dpdk.org" style="cursor: pointer; text-decoration: none; color: inherit;">dev@dpdk.org</a>></div></div></div><div data-zone-id="0" data-line-index="9" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">On Thu, 11 Apr 2024 14:17:40 +0800 </div></div><div data-zone-id="0" data-line-index="10" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><span>hepeng <<a href="mailto:hepeng.0320@bytedance.com" target="_blank" ref="noopener noreferrer">hepeng.0320@bytedance.com</a>> wrote: </span></div></div><div data-zone-id="0" data-line-index="11" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="12" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><span>> From: "hepeng.0320" <<a href="mailto:hepeng.0320@bytedance.com" target="_blank" ref="noopener noreferrer">hepeng.0320@bytedance.com</a>> </span></div></div><div data-zone-id="0" data-line-index="13" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> </div></div><div data-zone-id="0" data-line-index="14" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> mlx5_dev_close currently will set priv->sh->port[priv->dev_port - </div></div><div data-zone-id="0" data-line-index="15" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> 1].nl_ih_port_id to RTE_MAX_ETHPORTS to avoid mlx5_dev_interrupt_nl_cb </div></div><div data-zone-id="0" data-line-index="16" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> to use the port's dev_private, because later the rte_eth_dev_close </div></div><div data-zone-id="0" data-line-index="17" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> will free the dev_private and set the pointer to NULL. </div></div><div data-zone-id="0" data-line-index="18" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> </div></div><div data-zone-id="0" data-line-index="19" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> However, since mlx5_dev_interrupt_nl_cb is running in another thread, </div></div><div data-zone-id="0" data-line-index="20" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> I think the race still exists. So perhaps an easy fix is to wait for </div></div><div data-zone-id="0" data-line-index="21" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> 1ms to avoid this race. </div></div><div data-zone-id="0" data-line-index="22" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">> </div></div><div data-zone-id="0" data-line-index="23" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><span>> Signed-off-by: hepeng.0320 <<a href="mailto:hepeng.0320@bytedance.com" target="_blank" ref="noopener noreferrer">hepeng.0320@bytedance.com</a>> </span></div></div><div data-zone-id="0" data-line-index="24" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="25" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">Not the pest way to handle this. Adding a one second delay on shutdown </div></div><div data-zone-id="0" data-line-index="26" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">hurts some availability scenarios. Looks like mlx5 needs a more coordinated </div></div><div data-zone-id="0" data-line-index="27" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;">shutdown to be safe; adding big delays is not the correct fix.</div></div><div data-zone-id="0" data-line-index="28" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="29" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;" class="history-quote-line"><div class="" dir="auto" style="font-size: 14px;"><br/></div></div><div data-zone-id="0" data-line-index="30" data-line="true" style="margin-top: 4px; margin-bottom: 4px; line-height: 1.6;"><div dir="auto" style="font-size: 14px;"><br/></div></div></div></div></body></html>