Messages in this thread | | | Date | Sun, 17 Dec 2000 03:49:28 +0100 | From | Petr Vandrovec <> | Subject | 2.4.0-test13-pre1 lockup: run_task_queue or tty_io are wrong |
| |
Hi, my 2.4.0-test13-pre1 just stopped answering to my keystrokes. I've found that it is looping in tqueue_bh and flush_to_ldisc still again and again.
To my surprise I found that flush_to_ldisc() does
if (test_bit(TTY_DONT_FLIP, &tty_flags)) { queue_task(&tty->filp.tqueue, &tq_timer); return; }
Looks ok. But only until you'll look at run_task_queue(). It now contains
while (!list_empty(list)) { ... }
So postponing event to next timer tick does not work anymore. It will stop cycling in run_task_queue and machine is dead (unless you have some spare CPU).
Is current run_task_queue() behavior intentional, or is it only bug introduced by changing task queue to list based implementation? Thanks, Petr Vandrovec vandrove@vc.cvut.cz
P.S.: Yes, I know that I should bought faster computer so that ldisc buffer does not overflow, but... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |