tsleep_interlock - Fix bug with TDF_TSLEEPQ
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Jul 2009 05:25:40 +0000 (22:25 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 16 Jul 2009 05:25:40 +0000 (22:25 -0700)
commit7f5d7ed72f25a050b246978877ae10a3a6de9d35
tree7926c0e702bb67558effca5afd39112111318af1
parente21aec5b97250bf976585792dcedc4bfc00cfc4f
tsleep_interlock - Fix bug with TDF_TSLEEPQ

* LWKT previously disallowed the scheduling of a thread flagged
  TDF_TSLEEPQ because the tsleep queue was the same as the threadq.
  Now that they are different, it is possible for the thread to
  still be on a tsleepq when descheduled and later rescheduled.
  Remove the check, allowing the thread to be rescheduled by LWKT.

  This fixes issues with processes just locking up in "D"isk wait.
sys/kern/lwkt_thread.c