mirror of
https://github.com/openvswitch/ovs
synced 2025-10-27 15:18:06 +00:00
ovs-thread: Make caller provide thread name when creating a thread.
Thread names are occasionally very useful for debugging, but from time to
time we've forgotten to set one. This commit adds the new thread's name
as a parameter to the function to start a thread, to make that mistake
impossible. This also simplifies code, since two function calls become
only one.
This makes a few other changes to the thread creation function:
* Since it is no longer a direct wrapper around a pthread function,
rename it to avoid giving that impression.
* Remove 'pthread_attr_t *' param that every caller supplied as NULL.
* Change 'pthread *' parameter into a return value, for convenience.
The system-stats code hadn't set a thread name, so this fixes that issue.
This patch is a prerequisite for making RCU report the name of a thread
that is blocking RCU synchronization, because the easiest way to do that is
for ovsrcu_quiesce_end() to record the current thread's name.
ovsrcu_quiesce_end() is called before the thread function is called, so it
won't get a name set within the thread function itself. Setting the thread
name earlier, as in this patch, avoids the problem.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Alex Wang <alexw@nicira.com>
This commit is contained in:
@@ -133,8 +133,6 @@ static struct list dpdk_list OVS_GUARDED_BY(dpdk_mutex)
|
||||
static struct list dpdk_mp_list OVS_GUARDED_BY(dpdk_mutex)
|
||||
= LIST_INITIALIZER(&dpdk_mp_list);
|
||||
|
||||
static pthread_t watchdog_thread;
|
||||
|
||||
struct dpdk_mp {
|
||||
struct rte_mempool *mp;
|
||||
int mtu;
|
||||
@@ -1105,7 +1103,7 @@ dpdk_class_init(void)
|
||||
"[netdev] up|down", 1, 2,
|
||||
netdev_dpdk_set_admin_state, NULL);
|
||||
|
||||
xpthread_create(&watchdog_thread, NULL, dpdk_watchdog, NULL);
|
||||
ovs_thread_create("dpdk_watchdog", dpdk_watchdog, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user