-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi all,
here is a few test scenario I would like to add to the pm-qa.
test_01: the sched_mc feature is enabled in the kernel
check the presence of the 'sched_mc_power_savings' file
test_02: the topology is implemented in the kernel
check the value of the physical_package_id file is different from "-1"
test_03: the topology files are present
check the presence of the topology files for each cpu: * core_id * core_siblings * core_siblings_list * physical_package_id * thread_siblings * thread_siblings_list
test_04: the change are effective for sched_mc
check the ability to change the value [0-2] of the 'sched_mc_power_savings' file
test_05: the topology is consistent
check the consistency of the topology files * for each package: * count the cores -> the number of cores is 2 ^ (nr_cores - 1) -> all core ids are between 0 and nr_cores - 1
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
- -- http://www.linaro.org/ Linaro.org ? Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi all,
here is a few test scenario I would like to add to the pm-qa.
test_01: the sched_mc feature is enabled in the kernel
check the presence of the 'sched_mc_power_savings' file
test_02: the topology is implemented in the kernel
check the value of the physical_package_id file is different from "-1"
test_03: the topology files are present
check the presence of the topology files for each cpu: * core_id * core_siblings * core_siblings_list * physical_package_id * thread_siblings * thread_siblings_list
test_04: the change are effective for sched_mc
check the ability to change the value [0-2] of the 'sched_mc_power_savings' file
test_05: the topology is consistent
check the consistency of the topology files * for each package: * count the cores -> the number of cores is 2 ^ (nr_cores - 1) -> all core ids are between 0 and nr_cores - 1
it sounds good for me.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench. Then, you're right that we must wait a bit before adding some functional tests which test that sched_mc is working as expected (from a power saving point of view) with sched_mc_power_savings=2
Vincent
http://www.linaro.org/ Linaro.org ? Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJOOWIyAAoJEAKBbMCpUGYAGoEIAL7ETqYPdyCzS3c+4JYMrK72 AXMLu9W6stMfuTssyGZFBlsSbWsSDKbkqp8uzKc0zr8gw7KgQdVedHkBTn3H8QCi enAPoaIonkB7+UDNpg5zvrg4swLIMSJ5wBd7SVmFDnLiGIAf/seJac31ZtoLRV3A kT7wnusIQFATWVazlR110zNrLVA1rEdlOXBWudCYj4FPTnTde6mBqkvW1WMRDroP XAazklW7e7+NF2xo0/+7T2xT8Mudc3ELY5+KMF7j6YMCh/h8WSaSWh0baES0/Mie crFku0w+trXaniW6qnrxAWCyc0BB/MVbd60PJVJ25nnxTGo4JwwOf4hQZ5GHKfc= =7lNh -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/03/2011 06:25 PM, Vincent Guittot wrote:
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
[ ... ]
it sounds good for me.
Ok, cool. Thanks.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench.
Can you elaborate a bit ? Do you mean, we should run the test and compare the result to some hardcoded values (taking account the hysteresis of course) ?
Then, you're right that we must wait a bit before adding some functional tests which test that sched_mc is working as expected (from a power saving point of view) with sched_mc_power_savings=2
On 4 August 2011 09:57, Daniel Lezcano daniel.lezcano@linaro.org wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/03/2011 06:25 PM, Vincent Guittot wrote:
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
[ ... ]
it sounds good for me.
Ok, cool. Thanks.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench.
Can you elaborate a bit ? Do you mean, we should run the test and compare the result to some hardcoded values (taking account the hysteresis of course) ?
yes we should compare the results with some hard coded values or a reference test results. I don't know if it's possible to use the result of a previous tests sequence in order to make some comparisons et set a test has passed or failed ?
Then, you're right that we must wait a bit before adding some functional tests which test that sched_mc is working as expected (from a power saving point of view) with sched_mc_power_savings=2
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJOOl7mAAoJEAKBbMCpUGYATdMIAJ8lkSd5Rxw4iU/ta2GKMCnc THA2/XdaS/lNXtdCIiQX1u1bIz9YGcRwQhnPA3oFJoDbRs/67EroNhoW8o7gwzk6 F8AFhbqcjj3YdykJ5k3rxsxdZLnUnprANxc6PTujs/Xj9qKekZ/G0SPfACmfL2aG oTSHXAQGBl8Pb0vojGOfLDmhOAM88l13Q9vnT2gq6zYbhfSgybGnuCaUQl+DZlCh xiXFaDgFMVMfaw2XeJQsvlgo2MnxWxo86oMZFICgF01hhCeWc9U6GNtQB0OaaQON 8UnP04DVCjkXn76F6zua6qVSRrw/GHklXYdKdIEAGlpFEElmhjhwRSUH6Z44/04= =BuHj -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/04/2011 12:26 PM, Vincent Guittot wrote:
On 4 August 2011 09:57, Daniel Lezcano daniel.lezcano@linaro.org wrote: On 08/03/2011 06:25 PM, Vincent Guittot wrote:
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
[ ... ]
it sounds good for me.
Ok, cool. Thanks.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench.
Can you elaborate a bit ? Do you mean, we should run the test and compare the result to some hardcoded values (taking account the hysteresis of course) ?
yes we should compare the results with some hard coded values or a reference test results. I don't know if it's possible to use the result of a previous tests sequence in order to make some comparisons et set a test has passed or failed ?
IMO, this is out of the scope of the pm-qa test suite. The test suite should check the different subsystem are correct. In our case, we should ensure two processes ran only on a single socket and was not spread on two different socket. I don't know how to do that right now, but I think this is what we should validate.
What you are proposing is some kind of power management "benchmark".
That makes sense and would be very useful to check where is the consumption cursor. But a set of prerequisite will be needed for that:
(1) the pm blocks should be validated by pm-qa (2) we have to define an userspace scenario where we set the system with a maximum power saving policy (3) run different application and collect the consumption
We can imagine to have it automated, ran when there is a kernel update and plot the result like:
http://www.phoronix.com/scan.php?page=article&item=linux_mobile_uffda&am...
- -- http://www.linaro.org/ Linaro.org │ Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog
On Fri, Aug 5, 2011 at 1:10 PM, Daniel Lezcano daniel.lezcano@linaro.org wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/04/2011 12:26 PM, Vincent Guittot wrote:
On 4 August 2011 09:57, Daniel Lezcano daniel.lezcano@linaro.org wrote: On 08/03/2011 06:25 PM, Vincent Guittot wrote:
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
[ ... ]
it sounds good for me.
Ok, cool. Thanks.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench.
Can you elaborate a bit ? Do you mean, we should run the test and compare the result to some hardcoded values (taking account the hysteresis of course) ?
yes we should compare the results with some hard coded values or a reference test results. I don't know if it's possible to use the result of a previous tests sequence in order to make some comparisons et set a test has passed or failed ?
IMO, this is out of the scope of the pm-qa test suite. The test suite should check the different subsystem are correct. In our case, we should ensure two processes ran only on a single socket and was not spread on two different socket. I don't know how to do that right now, but I think this is what we should validate.
What you are proposing is some kind of power management "benchmark".
Right. Let's keep the 'functional' tests separate from the 'measurement' tests.
Functional tests will catch Kconfig errors, and ensure that the feature works according to the interface we care about.
PM-QA will (in the future) contain benchmark tests too that we'll use to measure how we're doing wrt power.
That makes sense and would be very useful to check where is the consumption cursor. But a set of prerequisite will be needed for that:
(1) the pm blocks should be validated by pm-qa (2) we have to define an userspace scenario where we set the system with a maximum power saving policy (3) run different application and collect the consumption
We can imagine to have it automated, ran when there is a kernel update and plot the result like:
http://www.phoronix.com/scan.php?page=article&item=linux_mobile_uffda&am...
On 5 August 2011 13:10, Daniel Lezcano daniel.lezcano@linaro.org wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/04/2011 12:26 PM, Vincent Guittot wrote:
On 4 August 2011 09:57, Daniel Lezcano daniel.lezcano@linaro.org wrote: On 08/03/2011 06:25 PM, Vincent Guittot wrote:
Hi Daniel,
On 3 August 2011 15:58, Daniel Lezcano daniel.lezcano@linaro.org wrote:
[ ... ]
it sounds good for me.
Ok, cool. Thanks.
Concerning the functional tests, I need some hints :)
On the architecture we have, that will be difficult to verify sched_mc works as expected. If I understood correctly, in order to test that, we should have a dual Cortex-A9 to check a program with two processes eating a lot of cpu cycles will be bounded in the same socket_id when sched_mc_power_savings=2. The other processor staying idle or not running any of these processes, right ? AFAIK, there is no such hardware, no ?
you could integrate a non regression test which check that performance results in both sched_mc_power_savings=0 and sched_mc_power_savings=2 . I have one which uses cyclictest and sysbench.
Can you elaborate a bit ? Do you mean, we should run the test and compare the result to some hardcoded values (taking account the hysteresis of course) ?
yes we should compare the results with some hard coded values or a reference test results. I don't know if it's possible to use the result of a previous tests sequence in order to make some comparisons et set a test has passed or failed ?
IMO, this is out of the scope of the pm-qa test suite. The test suite should check the different subsystem are correct. In our case, we should ensure two processes ran only on a single socket and was not spread on two different socket. I don't know how to do that right now, but I think this is what we should validate.
The goal of the non regression tests are not to measure improvement and check the right migration of the processes on one socket but to ensure that the performance of the kernel is still at the right level and that we have not introduce a big regression.
What you are proposing is some kind of power management "benchmark".
That makes sense and would be very useful to check where is the consumption cursor. But a set of prerequisite will be needed for that:
(1) the pm blocks should be validated by pm-qa (2) we have to define an userspace scenario where we set the system with a maximum power saving policy (3) run different application and collect the consumption
We can imagine to have it automated, ran when there is a kernel update and plot the result like:
http://www.phoronix.com/scan.php?page=article&item=linux_mobile_uffda&am...
http://www.linaro.org/ Linaro.org │ Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro Facebook | http://twitter.com/#!/linaroorg Twitter | http://www.linaro.org/linaro-blog/ Blog
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJOO923AAoJEAKBbMCpUGYApb8H/0CnUxghj8Ad0SfBGPIZLFzH 0Y6Q+8LGchv+UDlxv9kZlj0UjVSUWFDoOI9FMopj34RQFtFzkETzJsjxJ+s1OcfM hnlPzJQCMz76gXwKWU1b5eHdKbzVv/vW7yC4kEMcBX/XpYSxnyCM6x+e9ooQf01v OgnPWFqRLTyLFv4ZF1+OC5oROwmNbCd77efMJdtDijg8Ka9dzuWKtfATOjl3tGBP iouhJxmMgw0878n7QnUkLQl/DtFFTzHLHr4FBP7HRieG9QIU87no5o8M0NMak3vh rwyLet0TeCmK9rzzVs2tFgaY+yw361tnK4fzABYdBBFNCzeyvbXS550qEUrw+7E= =Grtm -----END PGP SIGNATURE-----