• Tim Chen's avatar
    x86: Enable Intel Turbo Boost Max Technology 3.0 · 5e76b2ab
    Tim Chen authored
    On platforms supporting Intel Turbo Boost Max Technology 3.0, the maximum
    turbo frequencies of some cores in a CPU package may be higher than for
    the other cores in the same package.  In that case, better performance
    (and possibly lower energy consumption as well) can be achieved by
    making the scheduler prefer to run tasks on the CPUs with higher max
    turbo frequencies.
    
    To that end, set up a core priority metric to abstract the core
    preferences based on the maximum turbo frequency.  In that metric,
    the cores with higher maximum turbo frequencies are higher-priority
    than the other cores in the same package and that causes the scheduler
    to favor them when making load-balancing decisions using the asymmertic
    packing approach.  At the same time, the priority of SMT threads with a
    higher CPU number is reduced so as to avoid scheduling tasks on all of
    the threads that belong to a favored core before all of the other cores
    have been given a task to run.
    
    The priority metric will be initialized by the P-state driver with the
    help of the sched_set_itmt_core_prio() function.  The P-state driver
    will also determine whether or not ITMT is supported by the platform
    and will call sched_set_itmt_support() to indicate that.
    Co-developed-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Co-developed-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarTim Chen <tim.c.chen@linux.intel.com>
    Cc: linux-pm@vger.kernel.org
    Cc: peterz@infradead.org
    Cc: jolsa@redhat.com
    Cc: rjw@rjwysocki.net
    Cc: linux-acpi@vger.kernel.org
    Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Cc: bp@suse.de
    Link: http://lkml.kernel.org/r/cd401ccdff88f88c8349314febdc25d51f7c48f7.1479844244.git.tim.c.chen@linux.intel.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    5e76b2ab
Makefile 4.41 KB