On 05/31/2011 05:46 PM, Paul Larson wrote:
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.
Oh, I was not aware of such bug. Do you have a pointer to this bug please ? What do you mean when you say the they were 'hanging the boards' ? Is the board unresponsive or the qa tests are blocked ?
Thanks, Paul Larson
On Tue, May 31, 2011 at 10:15 AM, Daniel Lezcano daniel.lezcano@linaro.orgwrote:
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