Re: GGI and cli/sti in X

Doug Ledford (dledford@dialnet.net)
Fri, 27 Mar 1998 10:59:43 -0600


Pavel Machek wrote:
>
> Hi!
>
> > in any case, Linus's conservative approach to GGI is excellent;
> > most people are indeed *not* religiously opposed to X. personally,
> > I've _never_ had an X bug cause video problems or a crash,
> > and I've been using Linux and X for more than a couple years.
>
> Do this for me: Limit your mem to 16Meg, make your machine swap a
> bit. Now switch consoles from/into X and do it fast. Be creative and
> you'll see complete freeze or at least complete mess-up of video.

Although I can't say for sure, this sounds suspiciously like a bug in X
(well, we know that already, but I'll be more specific). During the switch
to/from graphical mode, X is responsible for diddling the registers on the
video card. If X starts getting swapped out due to memory constraints, I
could see the prospect of X taking a page fault in the middle of one of
these diddles as being capable of fubarring the display and possibly the
machine if they cause the video card to hang the bus. In short, all of the
code that X loads to diddle with the registers on the video card needs to be
locked in memory so that it can't be swapped out or else timing critical
sections in the X server for diddling the registers could get held up as
code is paged back in. Now, I haven't looked at the X source so I don't
know if it does this, but this is where I would start looking to see where
the problem comes from. The other thing I would do is make sure that the X
server knows that if you switch back and forth quickly, it should lock down
the video card during mode switches until the switch is complete and
stable. So, if you switch into graphics mode and then back to text mode, it
should never start the switch back until all of the diddling for the switch
to graphics mode is complete. I haven't the faintest clue as to whether or
not the X server you use enforces this, but I would suspect it already does.

FWIW, I never see these X hangs, but I don't switch back and forth anyway
since I prefer my 80x50 xterms to the console vts.

-- 

Doug Ledford <dledford@dialnet.net> Opinions expressed are my own, but they should be everybody's.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu