vkernel - Fix semi-random SIGILL crashes under heavy network loads
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 2 Feb 2012 23:17:44 +0000 (15:17 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 2 Feb 2012 23:17:44 +0000 (15:17 -0800)
commit988854f90a2914d000cc259daea18e80c716b6f9
tree0c6384998248263701c62b554312383b59f359c3
parent18f423d755551f7a23ba8f5dc7f7f0308e49ba1d
vkernel - Fix semi-random SIGILL crashes under heavy network loads

* SIGIO was being installed with SA_NODEFER, resulting in situations
  under heavy network loads where multiple SIGIOs could stack and cause
  a stack overflow.  This often resulted in the sendsig code in the kernel
  generating a SIGILL to the process after being unable to push a new
  signal context.

* Removing SA_NODEFER appears to solve the problem.

Reported-by: tuxillo
sys/platform/vkernel/platform/kqueue.c
sys/platform/vkernel64/platform/kqueue.c