On Mon, 7 Oct 2002, David S. Miller wrote: > From: "Richard B. Johnson" <root@chaos.analogic.com> > Date: Mon, 7 Oct 2002 09:12:13 -0400 (EDT) > > If you log-in over the network, so that a socket is being used, > it will print HELP!!!!!!! continuously on the screen because > it is continually being signalled that I/O is possible instead > of being signaled only when things change. > > First, 2.4.19 did not change the SIGIO behavior of TCP. > > Second, SIGIO is sent any time new write/read space is made available > and that space exceeds some "wakeup threshold". SIGIO is also sent > when an error condition is created. This is necessary to avoid races > and has been the algorithm for some time in 2.3.x/2.4.x > > Any "chatty" protocol like telnet or sshd is going to generate > a ton of SIGIO's for POLL_OUT especially. Chatty protocols should > not make use of SIGIO for this reason if they care about performance. > > Third, your program is buggy because what you're getting SIGIO's for > is POLL_OUT or POLL_ERR, checking only POLL_IN is insufficient. Every > time a write goes out the socket, or an ACK is finished being > transmitted by a device, socket write space is recovered and a SIGIO > is going to go out if the write space exceeds some threshold. > > This behavior is not a bug. > This behavior is a horrific bug that did not exist in any Linux or Unix I've used before 2.4.19 and, I beg to differ, 2.4.19 does certainly change the behavior because that's exactly how I discovered it. If a signal is sent to a process every time space is available for output, this represents a tremendous buggy overhead which cannot be tollerated. This bug did not exist before 2.2.19 and it does not exist on my Suns Script started on Mon Oct 7 09:36:09 2002 # rlogin hal Password: Last login: Mon Oct 7 09:30:58 from chaos Sun Microsystems Inc. SunOS 5.5.1 Generic May 1996 # sh input.sh Waiting for input.........Got out of pause Exit okay, cleaning up... Done! #^D # rlogin: connection closed. # exit exit Script done on Mon Oct 7 09:36:52 2002 Cheers, Dick Johnson Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips). The US military has given us many words, FUBAR, SNAFU, now ENRON. Yes, top management were graduates of West Point and Annapolis. - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html