wmapm blocks kapmd? (2.4.0-test1-ac4)

From: Craig Kulesa (ckulesa@loke.as.arizona.edu)
Date: Sun May 28 2000 - 05:07:51 EST


Summary:

- Recent APM changes in the 2.4.0-test1 series work _very_ well for
  me (Thinkpad 390E). Kudos to all involved! :)

- However... a common APM monitor, 'wmapm', starting in WindowMaker's dock
  at login causes kapmd to _stop_ soaking up idle time. Killing
  and/or restarting wmapm manually allows kapmd to continue. I cannot
  reproduce this problem using 'asapm' . Is this a wmapm timing/race
  issue -- or an unhandled condition that kapmd should deal with?

Details:

I have a puzzling question that I've been trying to diagnose/solve.
First, the recent APM changes in the latest 2.4.0-test1 series have really
improved the amount of time that the kernel apm daemon spends soaking up
idle CPU time. This really improves battery life and minimizes heat
generation. I get near 97+% kapmd utilization with a totally idle
desktop, watching 'top'. Effect on system performance seems undetectable,
and now that APM support is modularizable, it's trivial to unload kapmd if
CPU performance is critical...

However, I've run into a problem. I normally run the excellent 'wmapm'
program in WindowMaker's dock. The program automatically launches in the
WM dock upon login. However... when this happens, kapmd ceases to do its
job and sits totally idle. If I kill wmapm, kapmd resumes working -- and
if I click in the dock to restart wmapm, kapmd continues functioning. The
simple operation of wmapm isn't a problem at all -- it's only upon the
[re]start of WindowMaker+dock and wmapm that causes the problem. However,
performing the same test with AfterStep's APM monitor, 'asapm', I see no
degradation in kapmd operation. So it doesn't seem like a WM/dock
problem.

Does this sound like a strange timing/race condition in wmapm, or is it
possible that there are unhandled conditions that will cause kapmd to stop
doing its job? I'm still trying to understand how apm.c actually
works... I looked at the source to wmapm -- it seems pretty harmless at
first glance. I certainly don't see how it could block kapmd. Any ideas
how to determine the source of the error?

Versions: wmapm 3.1
           WindowMaker 0.62.1 (previous versions fail too...)
           kernel 2.4.0-test1 with APM patch from test1-ac4 applied
           
Kernel config options of note:

CONFIG_PM=y
CONFIG_ACPI=m
CONFIG_ACPI_S1_SLEEP=y
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_DISPLAY_BLANK is not set
CONFIG_APM_IGNORE_SUSPEND_BOUNCE=y
# CONFIG_APM_RTC_IS_GMT is not set
CONFIG_APM_ALLOW_INTS=y
# CONFIG_APM_REAL_MODE_POWER_OFF is not set

With complements,

Craig Kulesa
Steward Observatory
University of Arizona

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:19 EST