Re: Resume/Suspend (was Re: LVM / Filesystems / High availability)

Magnus Redin (redin@lysator.liu.se)
Wed, 24 Jun 1998 02:25:30 +0200 (MET DST)


Jon:
> Nope, that is not enough with most SVGA cards. Since many VGA
> registers are write-only, X has to keep softcopies of those regs in
> order to be kept aware of exactly what state the video hardware is
> in. If you checkpoint the X server, run some other video card
> banging program like SVGALib or Suid-KGI or even another X server,
> and then restart the old X server, its register softcopies may not
> any longer correspond to the actual state of the hardware =
> problems.

Would it help to switch to a text-only virtual terminal before
suspending the system? If even that dosent work its anyway better to
kill and restart X then to kill and restart the whole system.

> There is also the issue of atomicity of accelerator commands - a lot
> of cards don't take well to being interrupted whilst their accel
> command FIFOs are half full of command words. Even if the next bit
> of code that hits the video card after X is checkpointed in this
> case doesn't cause the card to barf and lock the bus, what happens
> when the X server is restarted and finishes filling the FIFOs with
> the rest of the accel command words, producing at best a garbled
> display and at worst DMAing garbage all over the kernel's address
> space? Fun times.

What is it doing in the kernel if it can barf all over it? And why
isent it doable to checkpoint and freeze? (These might be very stupid
questions if we get an new pro/con GGI debate. What I am after is that
I think the technical problems are solvable but I am not good enough
to implement the solutions. :-( )

> If the video drivers were in the kernel, OTOH, you could indeed just
> ask the X server to redraw the screen and everything would work OK
> since both softcopying and atomicity would be handled by the video
> drivers. With LibGGI, you'd just have the restarter send SIGWINCH to
> the restarted X server (or any other app) and it would be treated
> the same way as if a VT switch had occured and redraw its display.

Perhaps this feature could put preassure on implementing better
X-drivers/servers? I would myself switch to the XFree86, Accel-X, GGI
or whatever version wich has the most stable function including
Resume/Suspend.

It might also help to keep the system more "clean" for people who wish
to implement checkpointing functions for long calculations or process
migration. But I am not certain about that.

Regards,

--
Magnus Redin  Lysator Academic Computer Society  redin@lysator.liu.se
Mail: Magnus Redin, Rydsvägen 214B, 584 32 LINKöPING, SWEDEN
Phone: Sweden (0)13 260046 (answering machine)  and  (0)13 214600

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