Skip to contentSkip to conversation

eal/windows: support thread ID query

PATCH Applied Tasnim Bashar 3 participants 3 messages May 21, 2020 – Jun 11, 2020 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20200518142634

#1 lore raw

PATCH v2 1/1 eal/windows: support thread ID query

Add rte_sys_gettid function to use rte_gettid() on Windows. rte_gettid() is required for recursive spin lock and recursive ticket lock.

---

v2: remove eal_thread_self function and fix style

---
 lib/librte_eal/windows/eal_thread.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
lib/librte_eal/windows/eal_thread.c +8 -7
index e149199a6f..4c1e31c58a 100644
@@ -64,12 +64,6 @@ eal_thread_init_master(unsigned int lcore_id)
 	RTE_PER_LCORE(_lcore_id) = lcore_id;
 }
 
-static inline pthread_t
-eal_thread_self(void)
-{
-	return GetCurrentThreadId();
-}
-
 /* main loop of threads */
 void *
 eal_thread_loop(void *arg __rte_unused)
@@ -81,7 +75,7 @@ eal_thread_loop(void *arg __rte_unused)
 	int m2s, s2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
-	thread_id = eal_thread_self();
+	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
 	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
@@ -157,6 +151,13 @@ eal_thread_create(pthread_t *thread)
 	return 0;
 }
 
+/* get current thread ID */
+int
+rte_sys_gettid(void)
+{
+	return GetCurrentThreadId();
+}
+
 int
 rte_thread_setname(__rte_unused pthread_t id, __rte_unused const char *name)
 {
Signature · 1 line
2.19.1.windows.1
Acked-by on v2 1/1
#2 lore raw
Quoted 12 lines · On Wed, 20 May 2020 17:32:53 -0700 Tasnim Bashar <[email protected]> wrote:

Add rte_sys_gettid function to use rte_gettid() on Windows. rte_gettid() is required for recursive spin lock and recursive ticket lock.

---

v2: remove eal_thread_self function and fix style

---
 lib/librte_eal/windows/eal_thread.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

[snip]

Signature · 1 line
Dmitry Kozlyuk