<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>