Has the bug that caused pm qa tests to hang on beagleXM been fixed yet? We had these tests running daily at one time, but had to disable them because they were completely hanging the boards.
Here is a bunch of scenarii I am planning to integrate to the pm-qa package.
Any idea or comment will be appreciate.
Note the test cases are designed for a specific host configured to
have a minimal number of services running on it and without any pending cron
jobs. This pre-requisite is needed in order to not alter the expected
results.
Thanks
-- Daniel
cpufreq:
--------
(1) test the cpufreq framework is available
check the following files are present in the sysfs path:
/sys/devices/system/cpu/cpu[0-9].*
-> cpufreq/scaling_available_frequencies
-> cpufreq/scaling_cur_freq
-> cpufreq/scaling_setspeed
There are also several other files:
-> cpufreq/cpuinfo_max_freq
-> cpufreq/cpuinfo_cur_freq
-> cpufreq/cpuinfo_min_freq
-> cpufreq/cpuinfo_transition_latency
-> cpufreq/stats/time_in_state
-> cpufreq/stats/total_trans
-> cpufreq/stats/trans_table
-> ...
Should we do some testing on that or do we assume it is not up to
Linaro to do that as being part of the generic cpufreq framework ?
(2) test the change of the frequency is effective in 'userspace' mode
- set the governor to 'userspace' policy
- for each frequency and cpu
- write the frequency
- wait at least cpuinfo_transition_latency
- read the frequency
- check the frequency is the expected one
(3) test the change of the frequencies affect the performances of a test program
(*) Write a simple program which takes a cpu list as parameter in
order to set the affinity on it. This program computes the number
of cycles (eg. a simple counter) it did in 1 second and display
the result. In case more than one cpu is specified, a process is
created for each cpu, setting the affinity on it.
(**) - set the governor to userspace policy
- set the frequency to the lower value
- wait at least cpuinfo_transition_latency
- run the test (*) program for each cpu, combinate them and
concatenate the result to a file
- for each frequency rerun (**)
- check the result file contains noticeable increasing values
(3) test the load of the cpu affects the frequency with 'ondemand'
(*) write a simple program which does nothing more than consuming cpu (no syscall)
for each cpu
- set the governor to 'ondemand'
- run (*) in background
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- read the frequency
- kill (*)
- check the frequency is equal to the higher frequency available
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- read the frequency
- check the frequency is the lowest available
(4) test the load of the cpu does not affect the frequency with 'userspace'
for each cpu
- set the governor to 'userspace'
- set the frequency between min and max frequencies
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- run (*) in background
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- read the frequency
- kill (*)
- check the frequency is equal to the one we set
(5) test the load of the cpu does not affect the frequency with 'powersave'
for each cpu
- set the governor to 'powersave'
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- check the frequency is the lowest available
- run (*) in background
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies - - read the frequency
- kill (*)
- check the frequency is the lowest available
(6) test the load of the cpu affects the frequency with 'conservative'
for each cpu
- set the governor to 'conservative'
for each freq step
- set the up_threshold to the freq step
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- run (*) in background
- wait at least cpuinfo_transition_latency * nr_scaling_available_frequencies
- read the frequency
- check the frequency is equal to higher we have with the freq_step
- kill (*)
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev