<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi,</div>
<div id="appendonsend"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg">
<div style="direction: ltr; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<b>From:</b> Stephen Hemminger <stephen@networkplumber.org><br>
<b>Sent:</b> Thursday, September 25, 2025 12:51 AM<br>
<b>To:</b> dev@dpdk.org <dev@dpdk.org><br>
<b>Cc:</b> Stephen Hemminger <stephen@networkplumber.org>; Xu, Rosen <rosen.xu@altera.com><br>
<b>Subject:</b> [RFC 5/6] intel/ipn3ke: avoid use of pthread_cancel</div>
<div style="direction: ltr;"> </div>
</div>
<div style="font-size: 11pt;" class="elementToProof">[CAUTION: This email is from outside your organization. Unless you trust the sender, do not click on links or open attachments as it may be a fraudulent email attempting to steal your information and/or compromise
 your computer.]<br>
<br>
Can use the existing reference count (scan_num) to control<br>
the thread without using pthread_cancel.<br>
<br>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org><br>
---<br>
 drivers/net/intel/ipn3ke/ipn3ke_representor.c | 8 ++------<br>
 1 file changed, 2 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/drivers/net/intel/ipn3ke/ipn3ke_representor.c b/drivers/net/intel/ipn3ke/ipn3ke_representor.c<br>
index feb57420c3..4e831c6924 100644<br>
--- a/drivers/net/intel/ipn3ke/ipn3ke_representor.c<br>
+++ b/drivers/net/intel/ipn3ke/ipn3ke_representor.c<br>
@@ -26,7 +26,7 @@<br>
 #include "ipn3ke_logs.h"<br>
 #include "ipn3ke_ethdev.h"<br>
<br>
-static int ipn3ke_rpst_scan_num;<br>
+static volatile int ipn3ke_rpst_scan_num;<br>
 static rte_thread_t ipn3ke_rpst_scan_thread;<br>
<br>
 /** Double linked list of representor port. */<br>
@@ -2578,7 +2578,7 @@ ipn3ke_rpst_scan_handle_request(__rte_unused void *param)<br>
 #define MS 1000<br>
 #define SCAN_NUM 32<br>
<br>
-       for (;;) {<br>
+       while (ipn3ke_rpst_scan_num > 0) {<br>
                num = 0;<br>
                TAILQ_FOREACH(rpst, &ipn3ke_rpst_list, next) {<br>
                        if (rpst->i40e_pf_eth &&<br>
@@ -2612,10 +2612,6 @@ ipn3ke_rpst_scan_check(void)<br>
                        return -1;<br>
                }<br>
        } else if (ipn3ke_rpst_scan_num == 0) {<br>
-               ret = pthread_cancel((pthread_t)ipn3ke_rpst_scan_thread.opaque_id);<br>
-               if (ret)<br>
-                       IPN3KE_AFU_PMD_ERR("Can't cancel the thread");<br>
-<br>
                ret = rte_thread_join(ipn3ke_rpst_scan_thread, NULL);<br>
                if (ret)<br>
                        IPN3KE_AFU_PMD_ERR("Can't join the thread");<br>
--<br>
2.47.3<br>
<br>
</div>
<div style="font-family: "Segoe UI", "Segoe UI Web (West European)", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif; font-size: 14.67px; color: rgb(0, 0, 0);" class="elementToProof">
Reviewed-by<span style="background-color: rgb(255, 255, 255);">: Rosen Xu <rosen.xu@altera.com></span></div>
</body>
</html>