APMD-List:
Archives

  
Back

to

APMD

Home

      Index: [thread] [date] [subject] [author]
  From: Craig Markwardt <craigm@pcasun3.gsfc.nasa.gov>
  To  : <pz@caltech.edu>
< apmd-list@worldvisions.ca> Date: Mon, 13 Sep 1999 16:51:33 -0400 (EDT)

Re: Another CPU slows to a crawl after resume from suspend

John Pezaris writes:
 > AHA!  The system date is running at about 1/6 normal speed.  Running
 > bogomips before a suspend returns a value of 466.00 BogoMips (normal for a
 > 233MHz MMX).  Running bogomips after resume from suspend fails:
 > 
 >     sohpia> bogomips
 >     Calibrating delay loop.. failed
 > 
 > Whoops.
 > 
 >    I don't know of any quick cpu-speed-reset programs.  Maybe "apm --standby"
 >    will kick things and make them better?
 > 
 > I tried this and got:
 > 
 >   apm: standby: Unable to enter requested state
 > 
 > So, looking at the source for bogomips, it looks like when it fails, the
 > implication is that the system timer is running too slowly.  Is this what
 > you'd conclude as well?

Both of these results appear to me to be symptoms of one primary
cause.  It looks like your system is entering "standby" mode, where
the CPU is throttled down to 1/6th speed.  However, when you try to
resume from standby, something gets screwed up.  Your system still
thinks it's in standby mode.  That would explain why it remains slow
and you can't enter standby again. [How could you enter standby from
standby?]

Therefore I would argue that a simple "set_cpu_speed" function will
not do the trick.  You actually need to inform the BIOS that we want
to "resume" from standby.  [ However, as a side note, I am *very*
interested in ways to actively control the CPU throttling.  Somehow I
think this is very hardware dependent though. ]

I remember having this problem exactly once, but never again, so I was
not able to reproduce it.

You mention a dependence on PCMCIA.  Do you simply need to eject your
cards, or do you actually have to shutdown the entire PCMCIA
subsystem?

There is an interaction between the kernel APM module and the PCMCIA
modules.  Card services registers a call-back to handle APM events.  I
suppose it's possible that the PCMCIA doesn't handle the resume event
properly.  [ Or perhaps the kernel APM driver doesn't do it right. ]

Could you remind us which versions of the APM kernel driver (cat
/proc/apm) and PCMCIA you are running?

Craig


Index: [thread] [date] [subject] [author]


Write to me! apenwarr@worldvisions.ca