Target CPU selection && Sharing Sched Info

Registered by Vincent Guittot on 2012-05-15

[Slides](http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/08/lpc2012-sched-timer-workqueue.pdf)

=== How to improve the selection of the target cpu in the timer and workqueue framework ===
It's sometime difficult to move a timer/hrtimer on a set of cpus in order to follow the load balance policy of the scheduler. We have some use cases where a timer, that is not specifically pinned to a particular cpu, stays on this cpu (or set of cpus) whereas all the tasks activity has moved on other ones. The timer/hrtimer frameworks currently call a scheduler function under some conditions but there is a limited number of use case where the timer will effectively migrate. The wokqueue framework doesn't have any link with the scheduler when it looks for a cpu on which it can run a work. The goal of this talk is to describe the potential issue and to discuss the possible solution.

Topic Lead: Vincent Guittot
Vincent Guittot is an embedded Linux engineer at ST-Ericsson. Since 2005, he has focused on mobile phone running Linux and Android. In 2010, he has joined the power management working group of Linaro.

=== Sharing information between scheduler and frameworks ===
The scheduler could take advantage of information from other frameworks, when it selects run queue for a task. These information are helpful not only for power consumption but also for performance by giving a mask of preferred CPUs. As an example, the wake up latency of a task is impacted by the C-states of the selected CPU. Choosing a CPU with a low C-state will reduce this latency.

This talk will discuss the various inputs that could be shared with the scheduler

Topic Lead: Vincent Guittot

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.