Optimise cpufreq for IKS

Registered by Amit Kucheria

- optimise cpufreq driver for IKS

Blueprint information

Status:
Complete
Approver:
Amit Kucheria
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
viresh kumar
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2013.03
Started by
Amit Kucheria
Completed by
David Zinman

Related branches

Sprints

Whiteboard

Patches till now for optimizing cpufreq driver of vexpress:
Fixes:
  cpufreq: vexpress: Don't assume there are only 8 freqs passed for big cluster
  cpufreq: vexpress: Don't initialize policy-> min, max twice
  cpufreq: vexpress: Create sysfs cluster_switch attributes only when bl switching is enabled
  cpufreq:vexpress: Avoid double checking of cluster_switch_enbld
  cpufreq:vexpress: Switch to little core if a overlapping frequencies

Optimizations:
  cpufreq: vexpress: Save cpu_last_req_freq earlier
  cpufreq: vexpress: Initialize cpu_last_req_freq in init()
  cpufreq: Add cpufreq_frequency_table_min_freq() helper
  cpufreq: vexpress: Set dying cluster to lowest freq possible
  cpufreq: vexpress: Re-check freq of old_cluster on cpu migration

Status 2013.02:
Performance/power figures with latest branch from Nico have gone bad. We are investigating on what happened, but nothing conclusive yet.

Meta:
Headline: TBD
Acceptance: TBD
Roadmap id: TBD

(?)

Work Items

Work items for 2012.10:
Create setup to run ARM internal benchmark suite: DONE
Understand IKS Vexpress cpufreq driver: DONE
Optimize whatever possible in IKS Vexpress cpufreq driver: DONE
Share patches with ARM and Mathieu for above work: DONE

Work items for 2012.11:
Share my setup with Mathieu: DONE
Write clk driver for ARM-SPC cpu clock controller: DONE

Work items for 2012.12:
Refactor cpufreq driver: DONE
Replicate Mathieu's work setup at my place to verify power figures: DONE
Fix cpufreq driver to work with on-the-fly disablement of bl_switcher: DONE
Host Automated Workload Benchmark Suite in a linaro private repo: DONE
Optimize/Fix issues in Workbench: DONE
Fix Nico/next kernel crashes due to cpufreq framework: DONE
Run lots of benchmark tests: DONE
Fix potential bugs in cpufreq core: DONE
Supply the same cpufreq driver to ARM LT Team: DONE
Work on spreadsheet used for keeping results: DONE
Fix any pending issues with cpufreq driver: DONE

Work items for 2013.03:
Help & Guide Naresh to get bench-marking done for new master and next branch: DONE

This blueprint contains Public information 
Everyone can see this information.