Re: [PATCH 0/8] Suspend block api (version 8)

Alan Cox
2010-05-27T21:37:51Z

On Thu, 27 May 2010 18:25:10 +0100
Matthew Garrett <mjg59@srcf.ucam.org> wrote:

> On Thu, May 27, 2010 at 07:20:56PM +0200, Peter Zijlstra wrote:
>
> > Suppose X (or whatever windowing system) will block all clients that try
> > to draw when you switch off your screen.
> >
> > How would we not wake them when we do turn the screen back on and start
> > servicing the pending requests again?
>
> How (and why) does the WoL (which may be *any* packet, not just a magic
> one) turn the screen back on?

Well on my laptop today it works like this

A WoL packet arrives
The CPU resumes
Depp process, chipset and laptop BIOS magic happens
The kernel gets called
The kernel lets interested people know a resume occurred
The X server sees this
X reconfigures the display
X redraws the display (either by sending everyone expose events or by
keeping the bits, not sure how it works this week as it has changed over
time)

My desktop re-appears

Alan