struct cpudata *cpu = container_of(data, struct cpudata, update_util);
        u64 delta_ns;
  
 +      /* Don't allow remote callbacks */
 +      if (smp_processor_id() != cpu->cpu)
 +              return;
 +
        if (flags & SCHED_CPUFREQ_IOWAIT) {
                cpu->iowait_boost = int_tofp(1);
+               cpu->last_update = time;
+               /*
+                * The last time the busy was 100% so P-state was max anyway
+                * so avoid overhead of computation.
+                */
+               if (fp_toint(cpu->sample.busy_scaled) == 100)
+                       return;
+ 
+               goto set_pstate;
        } else if (cpu->iowait_boost) {
                /* Clear iowait_boost if the CPU may have been idle. */
                delta_ns = time - cpu->last_update;