mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-15 17:17:25 +07:00
e81e7a5337
Andrii reported that sockopt_inherit occasionally hangs up on 5.5 kernel [0]. This can happen if server_thread runs faster than the main thread. In that case, pthread_cond_wait will wait forever because pthread_cond_signal was executed before the main thread was blocking. Let's move pthread_mutex_lock up a bit to make sure server_thread runs strictly after the main thread goes to sleep. (Not sure why this is 5.5 specific, maybe scheduling is less deterministic? But I was able to confirm that it does indeed happen in a VM.) [0] https://lore.kernel.org/bpf/CAEf4BzY0-bVNHmCkMFPgObs=isUAyg-dFzGDY7QWYkmm7rmTSg@mail.gmail.com/ Reported-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Andrii Nakryiko <andriin@fb.com> Link: https://lore.kernel.org/bpf/20200715224107.3591967-1-sdf@google.com |
||
---|---|---|
.. | ||
android | ||
arm64 | ||
bpf | ||
breakpoints | ||
capabilities | ||
cgroup | ||
clone3 | ||
cpu-hotplug | ||
cpufreq | ||
dmabuf-heaps | ||
drivers | ||
efivarfs | ||
exec | ||
filesystems | ||
firmware | ||
ftrace | ||
futex | ||
gpio | ||
ia64 | ||
intel_pstate | ||
ipc | ||
ir | ||
kcmp | ||
kexec | ||
kmod | ||
kselftest | ||
kvm | ||
lib | ||
livepatch | ||
lkdtm | ||
locking | ||
media_tests | ||
membarrier | ||
memfd | ||
memory-hotplug | ||
mount | ||
mqueue | ||
net | ||
netfilter | ||
nsfs | ||
ntb | ||
openat2 | ||
pid_namespace | ||
pidfd | ||
powerpc | ||
prctl | ||
proc | ||
pstore | ||
ptp | ||
ptrace | ||
rcutorture | ||
resctrl | ||
rseq | ||
rtc | ||
safesetid | ||
seccomp | ||
sigaltstack | ||
size | ||
sparc64 | ||
splice | ||
static_keys | ||
sync | ||
sysctl | ||
tc-testing | ||
timens | ||
timers | ||
tmpfs | ||
tpm2 | ||
uevent | ||
user | ||
vDSO | ||
vm | ||
watchdog | ||
wireguard | ||
x86 | ||
zram | ||
.gitignore | ||
gen_kselftest_tar.sh | ||
kselftest_deps.sh | ||
kselftest_harness.h | ||
kselftest_install.sh | ||
kselftest_module.h | ||
kselftest.h | ||
lib.mk | ||
Makefile |