mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 03:37:45 +03:00
Introduce names for ZTHRs
When debugging issues or generally analyzing the runtime of a system it would be nice to be able to tell the different ZTHRs running by name rather than having to analyze their stack. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Co-authored-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com> Closes #10630
This commit is contained in:
committed by
GitHub
parent
5678d3f593
commit
843e9ca2e1
+10
-7
@@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2017, 2019 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2017, 2020 by Delphix. All rights reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -269,9 +269,11 @@ zthr_procedure(void *arg)
|
||||
}
|
||||
|
||||
zthr_t *
|
||||
zthr_create(zthr_checkfunc_t *checkfunc, zthr_func_t *func, void *arg)
|
||||
zthr_create(const char *zthr_name, zthr_checkfunc_t *checkfunc,
|
||||
zthr_func_t *func, void *arg)
|
||||
{
|
||||
return (zthr_create_timer(checkfunc, func, arg, (hrtime_t)0));
|
||||
return (zthr_create_timer(zthr_name, checkfunc,
|
||||
func, arg, (hrtime_t)0));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -280,8 +282,8 @@ zthr_create(zthr_checkfunc_t *checkfunc, zthr_func_t *func, void *arg)
|
||||
* start working if required) will be triggered.
|
||||
*/
|
||||
zthr_t *
|
||||
zthr_create_timer(zthr_checkfunc_t *checkfunc, zthr_func_t *func,
|
||||
void *arg, hrtime_t max_sleep)
|
||||
zthr_create_timer(const char *zthr_name, zthr_checkfunc_t *checkfunc,
|
||||
zthr_func_t *func, void *arg, hrtime_t max_sleep)
|
||||
{
|
||||
zthr_t *t = kmem_zalloc(sizeof (*t), KM_SLEEP);
|
||||
mutex_init(&t->zthr_state_lock, NULL, MUTEX_DEFAULT, NULL);
|
||||
@@ -295,8 +297,9 @@ zthr_create_timer(zthr_checkfunc_t *checkfunc, zthr_func_t *func,
|
||||
t->zthr_arg = arg;
|
||||
t->zthr_sleep_timeout = max_sleep;
|
||||
|
||||
t->zthr_thread = thread_create(NULL, 0, zthr_procedure, t,
|
||||
0, &p0, TS_RUN, minclsyspri);
|
||||
t->zthr_thread = thread_create_named(zthr_name, NULL, 0,
|
||||
zthr_procedure, t, 0, &p0, TS_RUN, minclsyspri);
|
||||
|
||||
mutex_exit(&t->zthr_state_lock);
|
||||
|
||||
return (t);
|
||||
|
||||
Reference in New Issue
Block a user