Skip to content
  • Viresh Kumar's avatar
    workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues · cee22a15
    Viresh Kumar authored
    
    
    Workqueues can be performance or power-oriented. Currently, most workqueues are
    bound to the CPU they were created on. This gives good performance (due to cache
    effects) at the cost of potentially waking up otherwise idle cores (Idle from
    scheduler's perspective. Which may or may not be physically idle) just to
    process some work. To save power, we can allow the work to be rescheduled on a
    core that is already awake.
    
    Workqueues created with the WQ_UNBOUND flag will allow some power savings.
    However, we don't change the default behaviour of the system.  To enable
    power-saving behaviour, a new config option CONFIG_WQ_POWER_EFFICIENT needs to
    be turned on. This option can also be overridden by the
    workqueue.power_efficient boot parameter.
    
    tj: Updated config description and comments.  Renamed
        CONFIG_WQ_POWER_EFFICIENT to CONFIG_WQ_POWER_EFFICIENT_DEFAULT.
    
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: default avatarAmit Kucheria <amit.kucheria@linaro.org>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    cee22a15