Messages in this thread | | | Date | Mon, 4 Oct 1999 15:46:00 -0400 | From | "Theodore Y. Ts'o" <> | Subject | Re: Bug in Linux serial driver (and fix proposal) |
| |
Date: Mon, 4 Oct 1999 20:56:10 +0200 From: Wojciech Zabolotny <wzab@ise.pw.edu.pl>
I just discovered, that the user program can not detect the "overrun" event in serial data (at least in 2.0.x kernels, I don't know the 2.2.x). This is a serious bug in the serial driver, if it is used for applications sensitive to data loss (eg. processing of data from AD converter connected to the serial port).
It's true that it would be nice if applications where informed about the data loss, but most of the time there's not much they can do after the fact, after data has been lost.
That's why currently the overrun case is treated as a system log; it's an indication that system isn't setup correctly, or that there's a kernel problem. In practice overruns should never happen. The most common case of overruns is due to the IDE device driver taking too long. Read the man page about hdparm's -u option, and try it. It will likely cause your overrun problem to go away altogether.
I'll think about adding your suggestions, but our time is almost certain better spent trying to fix why the overrun's are happening in the first place, rather than trying to improve ways that the application is notified of the fact that something had gone wrong. Let's rather concentrate on avoiding things from going wrong in the first place.
- Ted
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |