1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 10:51:13 +01:00
workload-automation/wlauto
Sergei Trofimov 8f2ff4d2f8 cpustates: fix cluster shutdown tracking
This commit resolves a couple of issues that were causing impropper
cluster shutdown tracking in the cpustates script.

- requested_states in the PowerStateProcessor was being initalized to -1
  instead of None if no state was requested; the later checks are
  against None.
- requested_states was not being set if the request could be satisfied
  immediately, and was being cleared upon being statisfied at a later
  time. This caused a problem when a core leaves idle and then tries to
  re-enter cluster shutdown. Here is an example sequence of events that
  illustrates the issue (assume core0 and core1 are the only two cores
  on a cluster):

  	1. both cores are running
	2. core0 requests cluster-sleep. As core1 is running, it
	   is put into core-sleep instead, and its request is saved.
	3. core1 requests cluster-sleep. As core0 has a pending request
	   for cluster-sleep, both cores are put into cluster-sleep and
	   the pending request is cleared.
	4. core1 becomes active. core0 is elevated to core-sleep.
	5. core1 tries to enter cluster-sleep. Since core0 is currently
	   in core-sleep (and its prior request has laredy been
	   cleared), core1 is put into core-sleep instead, and its
	   request is saved. This is an ERROR as but cores have in fact
	   requested cluster-sleep at this stage.

  If, in step 4., core0 becomes active instead, exactly the same
  situation will result, as core1 was put into cluster-sleep immediately
  and its request was never saved.
  Idle state requests are now always tracked on entry and are only
  cleared when the core leave idle.
- Also removed a pointless identy assignment.
2017-03-24 08:55:47 +00:00
..
commands get_assets: Updated Remote Assets URL 2016-12-23 10:39:51 +00:00
common Changed ActionLogger class to use nano timestamps. This is because fps instrument collects data in ns as well so is possible to match the two 2017-02-24 16:11:35 +00:00
core Extend device with sleep functionality 2017-03-02 14:22:05 +00:00
devices meizumx6: fix: changing is_rooted to be a property 2017-03-16 13:40:39 +00:00
external Changed ActionLogger class to use nano timestamps. This is because fps instrument collects data in ns as well so is possible to match the two 2017-02-24 16:11:35 +00:00
instrumentation fps: Added parameter to override FPS collection method 2017-02-24 16:22:16 +00:00
modules Pylint fixes 2016-07-21 16:40:26 +01:00
resource_getters resource: remote resource resolution fixes 2017-02-21 16:35:16 +00:00
result_processors Move UxperfParser into utils 2017-02-03 15:14:27 +00:00
tests WA Types: Added 'ParameterDict' type. 2017-02-20 16:44:24 +00:00
tools Pylint fixes 2016-07-21 16:40:26 +01:00
utils cpustates: fix cluster shutdown tracking 2017-03-24 08:55:47 +00:00
workloads Appshare .jar rebuild 2017-03-22 12:23:35 +00:00
__init__.py Add new AndroidUxPerfWorkload class 2016-08-26 12:22:39 +01:00
agenda-example-biglittle.yaml big.Little Sample Agenda: Fixed workload name and typo. 2016-12-21 12:08:51 +00:00
agenda-example-tutorial.yaml Initial commit of open source Workload Automation. 2015-03-10 13:09:31 +00:00
config_example.py Fix typo 2017-01-12 12:13:05 -08:00
exceptions.py Initial commit of open source Workload Automation. 2015-03-10 13:09:31 +00:00