On Wed, 2012-03-21 at 16:13 -0400, Paul Fox wrote:
> tabitha wrote:
> > Testing Summary, Auckland - 17 March 2012
> > Who: Fabiana, John, Oliver, Rachel, Tom
> >
> > Tested build 30 customized on XO-1.75 and build 206 11.3.1-au on XO 1.5.
> >
> > XO-1.5 Summary (details below):
> > Power saving blanks the screen while recording a video
> ...
> > build 206 11.3.1-au on XO 1.5:
> > Rosella:
> > Record activity - works fine for photo and video. high and low res.
> > even long ones. But quite quickly the screen goes black - it is not
> > going to sleep - there is no flashing of the power light and it
> > continues recording. On Ivy it takes 1 minute to go black. Tabitha
>
> jerry vonau tells me that the powerd version in this release is
> based on my powerd-44. i cannot reproduce this problem with our
> os31 running with either powerd 44 or 46.
>
> i don't know where to find the au modified packages, so i can't
> test the specific version that was being run above.
>
Hi Paul,
I was tracking down why my XO-1.5's would never dim/blank in the normal
course of operation with version 46. I chose to modify version 44 as I
was working with that as a baseline for some modifications. Well I
turned my attention to version 46 and I think I found the issue I was
having. In r1.patch I added some tracing to laptop_busy to get some idea
what was occurring, it looked like cpu_or_network_busy was keeping the
laptop from suspending, so I added r2.patch to capture more data. The
tracing uncovered on a XO-1.5 that check_network_activity would always
return 0 thus preventing the next step in the cycle from occurring. I
corrected the issue for me with r3-patch. What are your thoughts?
Jerry
diff --git a/powerd b/powerd
index bf595d3..e849f87 100755
--- a/powerd
+++ b/powerd
@@ -1010,7 +1010,9 @@ else
test $1 = "finish" && \
grep -q via-dma /proc/interrupts && \
trace camera busy
+ return 0
}
+ return 1
fi
@@ -1151,7 +1153,7 @@ cpu_or_network_busy()
trace network cpu_or_network_busy
check_camera_activity finish
- trace camera cpu_or_network_busy && return 0
+ trace camera cpu_or_network_busy
return 1
}
diff --git a/powerd b/powerd
index edbd8e9..5c9cb0c 100755
--- a/powerd
+++ b/powerd
@@ -2700,8 +2700,11 @@ sleep_action()
# use it here.
if laptop_busy
then
+ trace laptop_busy TRUE
reset_idlecounters # restart the timers
return
+ else
+ trace laptop_busy FALSE
fi
# sleep until it's time to shut down
diff --git a/powerd b/powerd
index edbd8e9..bf595d3 100755
--- a/powerd
+++ b/powerd
@@ -978,6 +978,7 @@ then
check_camera_activity()
{
+ trace check_camera_activity
case $1 in
start)
camera_ints=$(camera_interrupts start)
@@ -1123,6 +1124,7 @@ check_cpu_activity()
cpu_or_network_busy()
{
+ trace start cpu_or_network_busy
check_cpu_activity start
check_network_activity start
check_camera_activity start
@@ -1131,6 +1133,8 @@ cpu_or_network_busy()
# check for events while doing so. we can afford this extra
# wait seconds because we arranged to be signalled 5 seconds
# before actually wanting to suspend.
+ trace loop cpu_or_network_busy
+
start=$(seconds)
while : BUSYCHECK loop
do
@@ -1138,9 +1142,16 @@ cpu_or_network_busy()
test $(( $(seconds) - start )) -ge $BUSYCHECK && break
done
+ trace busycheck cpu_or_network_busy
+
check_cpu_activity finish && return 0
+ trace cpu cpu_or_network_busy
+
check_network_activity finish && return 0
- check_camera_activity finish && return 0
+ trace network cpu_or_network_busy
+
+ check_camera_activity finish
+ trace camera cpu_or_network_busy && return 0
return 1
}
_______________________________________________
Testing mailing list
[email protected]
http://lists.laptop.org/listinfo/testing