RE: [PATCH v1] KVM: selftests: name the threads

From: Wang, Wei W
Date: Sun Oct 23 2022 - 20:55:03 EST


On Saturday, October 22, 2022 6:34 AM, Vipin Sharma wrote:
> On Mon, Oct 17, 2022 at 9:25 AM Wei Wang <wei.w.wang@xxxxxxxxx> wrote:
> > diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c
> > b/tools/testing/selftests/kvm/lib/kvm_util.c
> > index f1cb1627161f..c252c912f1ba 100644
> > --- a/tools/testing/selftests/kvm/lib/kvm_util.c
> > +++ b/tools/testing/selftests/kvm/lib/kvm_util.c
> > @@ -2021,3 +2021,50 @@ void __vm_get_stat(struct kvm_vm *vm, const
> char *stat_name, uint64_t *data,
> > break;
> > }
> > }
> > +
> > +/*
> > + * Create a named thread
> > + *
> > + * Input Args:
> > + * attr - the attributes for the new thread
> > + * start_routine - the routine to run in the thread context
> > + * arg - the argument passed to start_routine
> > + * name - the name of the thread
> > + *
> > + * Output Args:
> > + * thread - the thread to be created
> > + *
> > + * Create a thread with user specified name.
> > + */
> > +void pthread_create_with_name(pthread_t *thread, const pthread_attr_t
> *attr,
> > + void *(*start_routine)(void *), void *arg,
> > +char *name) {
> > + int r;
> > +
> > + r = pthread_create(thread, attr, start_routine, arg);
> > + TEST_ASSERT(!r, "thread(%s) creation failed, r = %d", name, r);
> > + pthread_setname_np(*thread, name);
>
> Since pthread_setname_np() expects "name" to be 16 chars including \0,
> maybe a strnlen(name, 16) check before it will be useful.

Yes. Alternatively, we should just check the return value of pthread_setname_np
and assert on any errors.