From owner-freebsd-smp Fri Aug 6 23:26:39 1999 Delivered-To: freebsd-smp@freebsd.org Received: from outmail.utsunomiya-u.ac.jp (outmail.utsunomiya-u.ac.jp [160.12.196.3]) by hub.freebsd.org (Postfix) with ESMTP id 5559E14C8F for ; Fri, 6 Aug 1999 23:26:33 -0700 (PDT) (envelope-from yokota@zodiac.mech.utsunomiya-u.ac.jp) Received: from zodiac.mech.utsunomiya-u.ac.jp (IDENT:ULWvn6zdDsMfu5UZZAEPJ/KeAEvudNpB@zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1]) by outmail.utsunomiya-u.ac.jp (8.9.3/3.7Wpl2) with ESMTP id PAA05197; Sat, 7 Aug 1999 15:25:21 +0900 (JST) Received: from zodiac.mech.utsunomiya-u.ac.jp (zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1]) by zodiac.mech.utsunomiya-u.ac.jp (8.7.6+2.6Wbeta7/3.4W/zodiac-May96) with ESMTP id PAA10251; Sat, 7 Aug 1999 15:29:40 +0900 (JST) Message-Id: <199908070629.PAA10251@zodiac.mech.utsunomiya-u.ac.jp> To: Nate Williams Cc: freebsd-smp@freebsd.org, yokota@zodiac.mech.utsunomiya-u.ac.jp Subject: Re: SMP + XDM = keyboard lockup In-reply-to: Your message of "Fri, 23 Jul 1999 10:24:10 CST." <199907231624.KAA07741@mt.sri.com> References: <199907221817.LAA09698@usr05.primenet.com> <199907230402.NAA02136@zodiac.mech.utsunomiya-u.ac.jp> <199907231624.KAA07741@mt.sri.com> Date: Sat, 07 Aug 1999 15:29:39 +0900 From: Kazutaka YOKOTA Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >> I guess it may not. After init forks and execs getty and xdm, we >> don't know the exact order in which these processes will be scheduled >> to run on which CPU, do we? /etc/ttys does not ensure the order of >> execution. >> >> If xdm happens to run before other getty processes, it may grab a vty >> which will be eventually opened by a getty later. > >Actually, I had forgotten about this. This is true because the line in >/etc/ttys doesn't specify *which* tty for X to use. If we could easily >force X to use that specific tty, it would avoid this problem. > >Nate We can specify the vty number in /usr/X11R6/lib/X11/xdm/Xservers as: :0 local /usr/X11R6/bin/X vt4 can we not? I know this is troublesome in the sense that if we want to change the vty for X, we need to update both /etc/tty and /usr/X11R6/lib/X11/xdm/Xservers ;-< In any case, the race condition regarding xdm and getty which we discussed in this mailing list should be reflected in FAQ. Our FAQ currently has an entry for xdm; it gives you the impression that the race condition exists only when we start xdm from one of rc.* files, and people may think there should be no problem when xdm is started from /etc/ttys. ------------------------------------------------------------------------------ 9.7 How do I start XDM on boot? There are two schools of thought on how to start xdm. One school starts xdm from /etc/ttys using the supplied example, while the other simply runs xdm from rc.local or from a X.sh script in /usr/local/etc/rc.d. Both are equally valid, and one may work in situations where the other doesn't. In both cases the result is the same: X will popup a graphical login: prompt. The ttys method has the advantage of documenting which vty X will start on and passing the responsibility of restarting the X server on logout to init. The rc.local method makes it easy to kill xdm if there is a problem starting the X server. If loaded from rc.local, xdm should be started without any arguments (i.e., as a daemon). xdm must start AFTER getty runs, or else gettty and xdm will con- flict, locking out the console. The best way around this is to have the script sleep 10 seconds or so then launch xdm. A previous version of the FAQ said to add the vt you want X to use to the /usr/X11R6/lib/X11/xdm/Xservers file. This is not necessary: X will use the first free vt it finds. ------------------------------------------------------------------------------ The last paragraph should be modified to something like: "If you are to start xdm from /etc/ttys, there still is a chance of conflict between xdm and getty. One way to avoid this is to add the vt number in the /usr/X11R6/lib/X11/xdm/Xservers file. :0 local /usr/X11R6/bin/X vt4 The above example will direct the X server to run in /dev/ttyv3. Note the number is offset by one. The X server counts the vt from one, whereas the FreeBSD kernel numbers vt from zero." Comments? Kazu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message