(Note: All tasks listed were executed by both Deepa and Tricia)
Previously Open Issues (from 11/1/05 status)
1. We need to ensure we have the right kernel source before doing any flashes of the kernel. Resolved: Dr. Mueller confirmed we had the correct source.
2.
We need to understand why when we set the mode to
suspend it does not work as expected. Resolved: This is a known bug but
does not affect our experiment.
3. We
need to understand the granularity provided by the available clocks. From our
current understanding the RTC value can only be read with the highest precision
of seconds based on what we have read in section 14.4 of the 405LP user manual
(p. 308) which shows the registers available for reading the RTC value. Completed: This is true, therefore we need to use
other solutions such as using the PIT timer to gain better granularity instead
of just reading the RTC.
4. We need to understand which registers and clocks are available to us even in a suspended mode. The Documentation/powerpc/405lp-sleep.txt states "The RTC remains active during sleep, but the timebase does not…". Need to understand the PIT as well to determine if this is available to us during a suspend. If the PIT is available, we could possibly use the RTC to drive the PIT and use that to calculate the time. Completed: The PIT is not available during a suspend (as determined from our experiments). Instead, we plan to initialize the PIT immediately upon initiation of a wake-up and then read it after wake-up is complete.
Completed tasks
- Changed link under include/asm directory to point to ppc directory instead of x86
- Copied powerpc-linux-nm from /opt/cross/bin to our directory and renamed to ppc_405-nm
Open Issues
1. Cannot get the board to recover from a “standby” mode.
Current Status of Milestones/Tasks
1. Address open issues especially in regards to understanding timers and registers available during suspend modes. Enabling better granularity than 1 second (Nov 7). Completed.
2. Flashing the kernel with the new code and running tests via an application driver to determine overhead (Nov 14). Completed.
Our basic project goals are essentially completed. Hence, we will next attempt the following stretch goals (originally identified in the proposal):
3. Expanding application driver to test the various sleep modes. Begin incorporation into scheduler (Nov 21).
4. Incorporation into scheduler (Nov 28)
Summary of Measurements
Suspend Mode:
Sleep overhead = 228.56 microseconds
Wakeup overhead = 83.89 microseconds
Clock suspend mode:
Sleep overhead = 168.82 microseconds
Wakeup overhead = 0 microseconds