On 07/05/2024 18:04, John Hubbard wrote:
On 5/7/24 12:54 AM, Ryan Roberts wrote:
On 05/05/2024 23:13, John Hubbard wrote:
...
diff --git a/tools/testing/selftests/mqueue/mq_perf_tests.c b/tools/testing/selftests/mqueue/mq_perf_tests.c index 5c16159d0bcd..fb898850867c 100644 --- a/tools/testing/selftests/mqueue/mq_perf_tests.c +++ b/tools/testing/selftests/mqueue/mq_perf_tests.c @@ -323,7 +323,8 @@ void *fake_cont_thread(void *arg) void *cont_thread(void *arg) { char buff[MSG_SIZE]; - int i, priority; + int i; + unsigned int priority; for (i = 0; i < num_cpus_to_pin; i++) if (cpu_threads[i] == pthread_self()) @@ -425,7 +426,8 @@ struct test test2[] = { void *perf_test_thread(void *arg) { char buff[MSG_SIZE]; - int prio_out, prio_in; + int prio_out;
It feels a bit odd for prio_out and prio_in to have different types. I don't have any prior familiararity with these tests but looks like they are ultimately the parameters of mq_send() and mq_receive() which both define them as unsigned ints. Perhaps both should be converted?
This makes sense, and I recall wondering about it. Looking at it again, I see why didn't go that far: there is a mini-unit test manager inside, passing around priorities that are signed, throughout:
struct test { char *desc; void (*func)(int *); };
...
void inc_prio(int *prio) { if (++*prio == mq_prio_max) *prio = 0; }
However, I can probably fix up everything to match up. Given that you've called it out, I'll go ahead with that approach. Iit will be quite a few changes but they will all be trivial too.
Ahh I see. It would certainly be an improvement, but if you don't think it's worth the effort, then don't feel you need to do it on my account.
thanks,