On Tue, Apr 20, 2021 at 10:37:39AM -0400, Peter Xu wrote:
On Tue, Apr 20, 2021 at 04:16:14AM -0400, Paolo Bonzini wrote:
The main thread could start to send SIG_IPI at any time, even before signal
blocked on vcpu thread. Therefore, start the vcpu thread with the signal
blocked.
Without this patch, on very busy cores the dirty_log_test could fail directly
on receiving a SIGUSR1 without a handler (when vcpu runs far slower than main).
Reported-by: Peter Xu <peterx@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Yes, indeed better! :)
Reviewed-by: Peter Xu <peterx@xxxxxxxxxx>
I just remembered one thing: this will avoid program quits, but still we'll get
the signal missing.
not a big deal so far as only dirty ring uses SIG_IPI, so there's always ring
full which will just delay the kick. It's just we need to remember this when we
extend IPI to non-dirty-ring tests as the kick is prone to be lost then.
Thanks,