• Dirk Brandewie's avatar
    cpufreq / intel_pstate: fix ffmpeg regression · b540137a
    Dirk Brandewie authored
    commit ca182aee upstream.
    
    The ffmpeg benchmark in the phoronix test suite has threads on
    multiple cores that rely on the progress on of threads on other cores
    and ping pong back and forth fast enough to make the core appear less
    busy than it "should" be.  If the core has been at minimum p-state for
    a while bump the pstate up to kick the core to see if it is in this
    ping pong state.  If the core is truly idle the p-state will be
    reduced at the next sample time.  If the core makes more progress it
    will send more work to the thread bringing both threads out of the
    ping pong scenario and the p-state will be selected normally.
    
    This fixes a performance regression of approximately 30%
    Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    b540137a
intel_pstate.c 18.5 KB