Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!think.com!hsdndev!cmcl2!phri!roy From: roy@phri.nyu.edu (Roy Smith) Newsgroups: comp.protocols.tcp-ip Subject: Re: LAT Message-ID: <1991Jan11.213512.2671@phri.nyu.edu> Date: 11 Jan 91 21:35:12 GMT References: <12578@hubcap.clemson.edu> Sender: news@phri.nyu.edu (News System) Organization: Public Health Research Institute, New York City Lines: 30 hubcap@hubcap.clemson.edu (System Janitor) writes: > Would anyone in this forum care to comment on these claims? [...] > LAT causes less of a burden on the CPU and the network How much of this is inherent in the protocols and how much depends on the implementations? Most Unix telnet servers are implemented as user processes which use pseudo terminals to talk to login shell processes, which is a very inefficient way to do things. For a single character typed by the user, you get: TCP/IP pty driver TCP/IP kernel process \ / \ / - - - - \ - - - - / - - - - \ - - - - - / - - - - - - - - - - - - \ / \ / telnetd telnetd user process as the character comes in off the network, gets handed to telnetd which turns it around to give to the pty driver which generates the echo and the echo'ed character is handed back to telnetd which sends it back out onto the network again; 4 context switches for each character typed. Some time ago I remember reading about somebody (Rick Ace?) who had a neat hack which did most of telnet entirely in the kernal, only invoking the user-space telnetd when a IAC character was encounted. I wonder how that implementation would stack up against LAT for CPU utilization? -- Roy Smith, Public Health Research Institute 455 First Avenue, New York, NY 10016 roy@alanine.phri.nyu.edu -OR- {att,cmcl2,rutgers,hombre}!phri!roy "Arcane? Did you say arcane? It wouldn't be Unix if it wasn't arcane!"