It appears as if some of these items are related to your discussion 
of where to call tsc_resume.  I am more than willing to sponsor 
whatever fixes you might have.


On Tue, 14 Oct 2008, J?rgen Keil wrote:

> >   So question 1:  What are the local changes?
> > Certainly, if they are useful to the OS, we  should get them
> >     incorporated as soon as possible.
> 
> I have changes for the issues mentioned in bug 6758678
> 
> - the kernel hangs on S3 suspend, somewhere in the ata driver
>   
> http://mail.opensolaris.org/pipermail/driver-discuss/2007-October/004603.html
>   I'll have to re-test if this fix is really needed, but I think it is...
> 
> - the kernel hangs on S3 suppend with an uhci interrupt storm
>   that got broken after the putback for
>   6681221 "Solaris hangs during early boot when EHCI-2 is enabled from BIOS"
>   I changed the uhci_cpr_suspend() code to fix this...
>  
> - s3 suspend/resume must save / restore the state of the legacy pic
>   (the toshiba tecra s1 is an uppc machine)
> 
>   6726128 "UPPC IBM Thinkpad Type 2327 panics in resume when interrupts are 
> restored"
>   6652275 "32bit #df double fault traps broken, after 6624280"
> 
>   I add save / restore code for the legacy pic to the uppc module.
> 
> - ipw2100 wlan driver is missing suspend / resume support
>   I added suspend / resume support to ipw.
> 
> - iprb nic driver is missing suspend / resume support
>   I can't fix this, no open source for iprb
>   (so I have to use -B disable-iprb=true)
> 
> - the notebook frequently hangs after resume, on the second suspend/resume 
> cycle
>   Problem with clock interrupts enabled too early, before tsc_resume() was 
> called?
> 
> - ata0 "timeout: abort request" errors for PATA HDD after S3 resume
>   It seems these putbacks are supposed to fix such an issue,
>   but it doesn't work in the Tecra S1?
>   6753758 ata driver doesn't work in snv_99 (older systems only?)
>   6752338 ata driver hangs in b99 on Toshiba Tecra A9
>    
>   Problem is that the ata device appear to be already
>   using [MU]DMA mode, so no command is sent to the device
>   to enable dma mode.  It I force sending a "set dma mode"
>   command to the drive, it works.
> 
>   But I'll have to do a few more tests here...
> 
> > Question 2: what was the value of the TOD and
> > gethrtime() before and after s/r, as well as the approximate sleep time?
> 
> IIRC, it complained that the TOD jumped by roughly the number
> of seconds that we have been sleeping in S3. I.e. with an automatic
> acpi S3 wakeup of "acpi_rtc_wake = 5" seconds, it complained that
> the TOD jumped by 0x7 seconds.
> 
> I'lll have to do a few more tests, but I think the root cause could be
> that I get cbe_fire() clock interrupt too early during resume, before
> tsc_resume() has run.

  Based on this description, that would be my guess as well (the first 
effectively sees the suspend time, and the next fire sees a large jump 
as time catches up to what it should be).


  What I would like to do, however, is to find out how many of the 
above fixes is not only still valid, but are ready for a push now.


        ---- Randy

Reply via email to