Messages in this thread | | | Subject | [2.4 TTY] Lost wake-up of tty->write_wait due to race? | Date | Tue, 15 Feb 2005 15:35:34 -0700 | From | "Davda, Bhavesh P \(Bhavesh\)" <> |
| |
In the 2.4 kernels, is there a race window when a wake_up() of the tty->write_wait queue from the underlying tty_driver can be lost in la-la-land, while a task is sleeping on it from tty_wait_until_sent() ?
I am seeing something similar. I have the "pppd" daemon in the TASK_INTERRUPTIBLE state stuck in tty_wait_until_sent() [determined from wchan] as a result of its ioctl(fd, TIOCSETD, [N_TTY]) call while about to exit.
The debug module is showing that the tty->write_wait queue is empty. As a result, *nothing* will wake up pppd from its TASK_INTERRUPTIBLE state.
How could that be? Just to show that I've done my homework, attached is my analysis of the issue.
I've seen references to race conditions in the changing of line-disciplines in postings by Alan Cox, but none of those references seems to explain what I am seeing.
Any insight will be greatly appreciated!
Thanks
- Bhavesh
Bhavesh P. Davda | Distinguished Member of Technical Staff | Avaya | 1300 West 120th Avenue | B3-B03 | Westminster, CO 80234 | U.S.A. | Voice/Fax: 303.538.4438 | bhavesh@avaya.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |