1 comment

[ 3.5 ms ] story [ 11.1 ms ] thread
The Go team has found that recent Linux kernels break the recently integrated goroutine preemption logic.

There is deep analysis here https://github.com/golang/go/issues/35326#issuecomment-55821... They have bisected the kernel and found that https://github.com/torvalds/linux/commit/d9c9ce34ed5c892323c... is the culprit. Apparently, it introduces changes in the signal handling behavior only visible when compiled with GCC 9, presumably because it uses AVX registers.

The entire discussion is a nice read.