Losing VFP registers over suspend/resume

Daniel Drake dsd at laptop.org
Sun Jul 15 00:49:46 EDT 2012


Hi,

Testing XO-1.75 ARMv7 hardfp, the following simple test gives bad results:

In one terminal, run this python program:

import math
answer = math.cos(3.1415)
while True:
    x = math.cos(3.1415)
    if x != answer:
        print "Bad answer", x


In another terminal:
while sleep 3; do rtcwake -s 3 -m mem; done


This sets up a FP-heavy app running while the system is suspending and
resuming every few seconds.
The results are that every few minutes, one of the cosine calculations
produces the wrong result, and after a few hours the program can even
crash.

Applying the patch "ARM: vfp: Always save VFP state in vfp_pm_suspend"
solves the issue.
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-February/042048.html
I tested with the above test case for several hours, and another OLPC
developer verified. No more bad calculations, no more crashes.

Any chance this effort could be revived? Looks like the patch was almost acked:
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-February/042930.html

Thanks
Daniel



More information about the linux-arm-kernel mailing list