]> Git Repo - linux.git/commitdiff
Merge tag 'pm+acpi-3.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafae...
authorLinus Torvalds <[email protected]>
Thu, 12 Jun 2014 20:14:19 +0000 (13:14 -0700)
committerLinus Torvalds <[email protected]>
Thu, 12 Jun 2014 20:14:19 +0000 (13:14 -0700)
Pull more ACPI and power management updates from Rafael Wysocki:
 "These are fixups on top of the previous PM+ACPI pull request,
  regression fixes (ACPI hotplug, cpufreq ppc-corenet), other bug fixes
  (ACPI reset, cpufreq), new PM trace points for system suspend
  profiling and a copyright notice update.

  Specifics:

   - I didn't remember correctly that the Hans de Goede's ACPI video
     patches actually didn't flip the video.use_native_backlight
     default, although we had discussed that and decided to do that.
     Since I said we would do that in the previous PM+ACPI pull request,
     make that change for real now.

   - ACPI bus check notifications for PCI host bridges don't cause the
     bus below the host bridge to be checked for changes as they should
     because of a mistake in the ACPI-based PCI hotplug (ACPIPHP)
     subsystem that forgets to add hotplug contexts to PCI host bridge
     ACPI device objects.  Create hotplug contexts for PCI host bridges
     too as appropriate.

   - Revert recent cpufreq commit related to the big.LITTLE cpufreq
     driver that breaks arm64 builds.

   - Fix for a regression in the ppc-corenet cpufreq driver introduced
     during the 3.15 cycle and causing the driver to use the remainder
     from do_div instead of the quotient.  From Ed Swarthout.

   - Resets triggered by panic activate a BUG_ON() in vmalloc.c on
     systems where the ACPI reset register is located in memory address
     space.  Fix from Randy Wright.

   - Fix for a problem with cpufreq governors that decisions made by
     them may be suboptimal due to the fact that deferrable timers are
     used by them for CPU load sampling.  From Srivatsa S Bhat.

   - Fix for a problem with the Tegra cpufreq driver where the CPU
     frequency is temporarily switched to a "stable" level that is
     different from both the initial and target frequencies during
     transitions which causes udelay() to expire earlier than it should
     sometimes.  From Viresh Kumar.

   - New trace points and rework of some existing trace points for
     system suspend/resume profiling from Todd Brandt.

   - Assorted cpufreq fixes and cleanups from Stratos Karafotis and
     Viresh Kumar.

   - Copyright notice update for suspend-and-cpuhotplug.txt from
     Srivatsa S Bhat"

* tag 'pm+acpi-3.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / hotplug / PCI: Add hotplug contexts to PCI host bridges
  PM / sleep: trace events for device PM callbacks
  cpufreq: cpufreq-cpu0: remove dependency on THERMAL and REGULATOR
  cpufreq: tegra: update comment for clarity
  cpufreq: intel_pstate: Remove duplicate CPU ID check
  cpufreq: Mark CPU0 driver with CPUFREQ_NEED_INITIAL_FREQ_CHECK flag
  PM / Documentation: Update copyright in suspend-and-cpuhotplug.txt
  cpufreq: governor: remove copy_prev_load from 'struct cpu_dbs_common_info'
  cpufreq: governor: Be friendly towards latency-sensitive bursty workloads
  PM / sleep: trace events for suspend/resume
  cpufreq: ppc-corenet-cpu-freq: do_div use quotient
  Revert "cpufreq: Enable big.LITTLE cpufreq driver on arm64"
  cpufreq: Tegra: implement intermediate frequency callbacks
  cpufreq: add support for intermediate (stable) frequencies
  ACPI / video: Change the default for video.use_native_backlight to 1
  ACPI: Fix bug when ACPI reset register is implemented in system memory

1  2 
kernel/cpu.c

diff --combined kernel/cpu.c
index acf791c55b71591a684d09fc6de6850e2c19b1f8,759feaaa9bb0704bd1ff44e072db25c78e4c5922..a343bde710b1025d6519dd6efc7d890bdff86118
@@@ -20,6 -20,7 +20,7 @@@
  #include <linux/gfp.h>
  #include <linux/suspend.h>
  #include <linux/lockdep.h>
+ #include <trace/events/power.h>
  
  #include "smpboot.h"
  
@@@ -283,7 -284,8 +284,7 @@@ static inline void check_for_tasks(int 
                task_cputime(p, &utime, &stime);
                if (task_cpu(p) == cpu && p->state == TASK_RUNNING &&
                    (utime || stime))
 -                      printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d "
 -                              "(state = %ld, flags = %x)\n",
 +                      pr_warn("Task %s (pid = %d) is on cpu %d (state = %ld, flags = %x)\n",
                                p->comm, task_pid_nr(p), cpu,
                                p->state, p->flags);
        }
@@@ -335,8 -337,8 +336,8 @@@ static int __ref _cpu_down(unsigned in
        if (err) {
                nr_calls--;
                __cpu_notify(CPU_DOWN_FAILED | mod, hcpu, nr_calls, NULL);
 -              printk("%s: attempt to take down CPU %u failed\n",
 -                              __func__, cpu);
 +              pr_warn("%s: attempt to take down CPU %u failed\n",
 +                      __func__, cpu);
                goto out_release;
        }
  
@@@ -443,8 -445,8 +444,8 @@@ static int _cpu_up(unsigned int cpu, in
        ret = __cpu_notify(CPU_UP_PREPARE | mod, hcpu, -1, &nr_calls);
        if (ret) {
                nr_calls--;
 -              printk(KERN_WARNING "%s: attempt to bring up CPU %u failed\n",
 -                              __func__, cpu);
 +              pr_warn("%s: attempt to bring up CPU %u failed\n",
 +                      __func__, cpu);
                goto out_notify;
        }
  
@@@ -474,10 -476,11 +475,10 @@@ int cpu_up(unsigned int cpu
        int err = 0;
  
        if (!cpu_possible(cpu)) {
 -              printk(KERN_ERR "can't online cpu %d because it is not "
 -                      "configured as may-hotadd at boot time\n", cpu);
 +              pr_err("can't online cpu %d because it is not configured as may-hotadd at boot time\n",
 +                     cpu);
  #if defined(CONFIG_IA64)
 -              printk(KERN_ERR "please check additional_cpus= boot "
 -                              "parameter\n");
 +              pr_err("please check additional_cpus= boot parameter\n");
  #endif
                return -EINVAL;
        }
@@@ -516,15 -519,18 +517,17 @@@ int disable_nonboot_cpus(void
         */
        cpumask_clear(frozen_cpus);
  
 -      printk("Disabling non-boot CPUs ...\n");
 +      pr_info("Disabling non-boot CPUs ...\n");
        for_each_online_cpu(cpu) {
                if (cpu == first_cpu)
                        continue;
+               trace_suspend_resume(TPS("CPU_OFF"), cpu, true);
                error = _cpu_down(cpu, 1);
+               trace_suspend_resume(TPS("CPU_OFF"), cpu, false);
                if (!error)
                        cpumask_set_cpu(cpu, frozen_cpus);
                else {
 -                      printk(KERN_ERR "Error taking CPU%d down: %d\n",
 -                              cpu, error);
 +                      pr_err("Error taking CPU%d down: %d\n", cpu, error);
                        break;
                }
        }
                /* Make sure the CPUs won't be enabled by someone else */
                cpu_hotplug_disabled = 1;
        } else {
 -              printk(KERN_ERR "Non-boot CPUs are not disabled\n");
 +              pr_err("Non-boot CPUs are not disabled\n");
        }
        cpu_maps_update_done();
        return error;
@@@ -558,17 -564,19 +561,19 @@@ void __ref enable_nonboot_cpus(void
        if (cpumask_empty(frozen_cpus))
                goto out;
  
 -      printk(KERN_INFO "Enabling non-boot CPUs ...\n");
 +      pr_info("Enabling non-boot CPUs ...\n");
  
        arch_enable_nonboot_cpus_begin();
  
        for_each_cpu(cpu, frozen_cpus) {
+               trace_suspend_resume(TPS("CPU_ON"), cpu, true);
                error = _cpu_up(cpu, 1);
+               trace_suspend_resume(TPS("CPU_ON"), cpu, false);
                if (!error) {
 -                      printk(KERN_INFO "CPU%d is up\n", cpu);
 +                      pr_info("CPU%d is up\n", cpu);
                        continue;
                }
 -              printk(KERN_WARNING "Error taking CPU%d up: %d\n", cpu, error);
 +              pr_warn("Error taking CPU%d up: %d\n", cpu, error);
        }
  
        arch_enable_nonboot_cpus_end();
This page took 0.069409 seconds and 4 git commands to generate.