• Alexander Clouter's avatar
    [PATCH] cpufreq_conservative: make for_each_cpu() safe · 08a28e2e
    Alexander Clouter authored
    All these changes should make cpufreq_conservative safe in regards to the x86
    for_each_cpu cpumask.h changes and whatnot.
    
    Whilst making it safe a number of pointless for loops related to the cpu
    mask's were removed.  I was never comfortable with all those for loops,
    especially as the iteration is over the same data again and again for each
    CPU you had in a single poll, an O(n^2) outcome to frequency scaling.
    
    The approach I use is to assume by default no CPU's exist and it sets the
    requested_freq to zero as a kind of flag, the reasoning is in the source ;)
    If the CPU is queried and requested_freq is zero then it initialises the
    variable to current_freq and then continues as if nothing happened which
    should be the same net effect as before?
    Signed-off-by: default avatarAlexander Clouter <alex-kernel@digriz.org.uk>
    Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
    08a28e2e
cpufreq_conservative.c 15.2 KB