Re: [PATCH v4] posix-timers: Prefer delivery of signals to the current thread
From: Oleg Nesterov
Date: Sat Jan 28 2023 - 14:57:42 EST
Dmitry,
I agree with what you said, just one note...
On 01/27, Dmitry Vyukov wrote:
>
> After this change the test passes quickly (within a second for me).
yet perhaps it makes sense to slightly change it? It does
+static void *distribution_thr(void *arg) {
+ while (__atomic_load_n(&remain, __ATOMIC_RELAXED));
+ return NULL;
+}
so distribution_thr() eats CPU even after this thread gets a signal and thus
(in theory) it can "steal" cpu_timer_fire() from other threads unpredictably
long ? How about
- while (__atomic_load_n(&remain, __ATOMIC_RELAXED));
+ while (__atomic_load_n(&got_signal, __ATOMIC_RELAXED));
?
Oleg.