freebsd-skq/sys/compat
hselasky 925995d635 Fix for deadlock situation in the LinuxKPI's RCU synchronize API.
Deadlock condition:
The return value of TDQ_LOCKPTR(td) is the same for two threads.

1) The first thread signals a wakeup while keeping the rcu_read_lock().
This invokes sched_add() which in turn will try to lock TDQ_LOCK().

2) The second thread is calling synchronize_rcu() calling mi_switch() over
and over again trying to yield(). This prevents the first thread from running
and releasing the RCU reader lock.

Solution:
Release the thread lock while yielding to allow other threads to acquire the
lock pointed to by TDQ_LOCKPTR(td).

Found by:	KrishnamRaju ErapaRaju <Krishna2@chelsio.com>
MFC after:	1 week
Sponsored by:	Mellanox Technologies
2017-08-21 11:51:40 +00:00
..
cloudabi Upgrade to the latest sources generated from the CloudABI specification. 2017-07-26 06:57:15 +00:00
cloudabi32 Upgrade to the latest sources generated from the CloudABI specification. 2017-07-26 06:57:15 +00:00
cloudabi64 Upgrade to the latest sources generated from the CloudABI specification. 2017-07-26 06:57:15 +00:00
freebsd32 Correct sysent flags for dynamically loaded syscalls. 2017-07-14 09:34:44 +00:00
ia32 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
linprocfs Fix caveat in new implementation of linprocfs_docpuinfo(): 2017-06-23 10:36:27 +00:00
linsysfs Glibc get_nprocs() and get_nprocs_conf() uses the sysfs cpu infrastructure 2017-03-18 18:38:12 +00:00
linux Avoid using [LINUX_]SHAREDPAGE constant directly in the vdso code. 2017-07-30 21:24:20 +00:00
linuxkpi/common Fix for deadlock situation in the LinuxKPI's RCU synchronize API. 2017-08-21 11:51:40 +00:00
ndis Fix regression in ndis(4) after r286410. This adds a bunch of checks for 2017-05-22 20:00:01 +00:00
netbsd
x86bios x86bios: spelling fix in a comment. 2016-04-30 00:34:04 +00:00