- 18 Feb, 2013 17 commits
-
-
Len Brown authored
Conflicts: arch/x86/kernel/process.c Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
-
Len Brown authored
pm_idle appears in no generic Linux code, it appears only in architecture-specific code. Thus, pm_idle should not be declared in pm.h. Architectures that use an idle function pointer should delcare one local to their architecture, and/or use cpuidle. Signed-off-by:
Len Brown <len.brown@intel.com> Reviewed-by:
Kevin Hilman <khilman@linaro.org> Tested-by:
Kevin Hilman <khilman@linaro.org> Cc: linux-pm@vger.kernel.org
-
Len Brown authored
as pm_idle() has already been deleted from this code, the comment was a stray. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
-
Len Brown authored
pm_idle() on openrisc was dead code. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: linux@lists.openrisc.net
-
Len Brown authored
pm_idle on mn10300 served no purpose. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: linux-am33-list@redhat.com
-
Len Brown authored
pm_idle on microblaze served no purpose. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: microblaze-uclinux@itee.uq.edu.au
-
Len Brown authored
All paths on m32r lead to cpu_relax(). So delete the dead code and simply call cpu_relax() directly. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: linux-m32r@ml.linux-m32r.org
-
Len Brown authored
pm_idle() on ia64 was a synonym for default_idle(). So simply invoke default_idle() directly. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: linux-ia64@vger.kernel.org
-
Len Brown authored
pm_idle() and idle() served no purpose on cris -- invoke default_idle() directly. Signed-off-by:
Len Brown <len.brown@intel.com> Acked-by:
Jesper Nilsson <jesper.nilsson@axis.com>
-
Len Brown authored
pm_idle() on arm64 was a synonym for default_idle(), so remove it and invoke default_idle() directly. Signed-off-by:
Len Brown <len.brown@intel.com> Acked-by:
Catalin Marinas <catalin.marinas@arm.com>
-
Len Brown authored
pm_idle() on ARM was a synonym for default_idle(), so simply invoke default_idle() directly. Signed-off-by:
Len Brown <len.brown@intel.com> Reviewed-by:
Kevin Hilman <khilman@linaro.org> Tested-by:
Kevin Hilman <khilman@linaro.org>
-
Len Brown authored
pm_idle is dead code on blackfin. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: uclinux-dist-devel@blackfin.uclinux.org
-
Len Brown authored
(pm_idle)() is being removed from linux/pm.h because Linux does not have such a cross-architecture concept. sparc uses an idle function pointer in its architecture specific code. So we re-name sparc use of pm_idle to sparc_idle. Signed-off-by:
Len Brown <len.brown@intel.com> Acked-by:
David S. Miller <davem@davemloft.net> Acked-by:
Sam Ravnborg <sam@ravnborg.org>
-
Len Brown authored
SH idle code could use some simplification. This patch enables that by guaranteeing that "sh_idle" is local, and thus architecture specific. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: linux-sh@vger.kernel.org
-
Len Brown authored
(pm_idle)() is being removed from linux/pm.h because Linux does not have such a cross-architecture concept. x86 uses an idle function pointer in its architecture specific code as a backup to cpuidle. So we re-name x86 use of pm_idle to x86_idle, and make it static to x86. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: x86@kernel.org
-
Len Brown authored
Update APM to register its local idle routine with cpuidle. This allows us to stop exporting pm_idle to modules on x86. The Kconfig sub-option, APM_CPU_IDLE, now depends on on CPU_IDLE. Compile-tested only. Signed-off-by:
Len Brown <len.brown@intel.com> Reviewed-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Jiri Kosina <jkosina@suse.cz>
-
- 13 Feb, 2013 2 commits
-
-
Len Brown authored
The SMI counter is popular -- so display it by default rather than requiring an option. What the heck, we've blown the 80 column budget on many systems already... Note that the value displayed is the delta during the measurement interval. The absolute value of the counter can still be seen with the generic 32-bit MSR option, ie. -m 0x34 Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Here we disable HW promotion of C1 to C1E and export both C1 and C1E and distinct C-states. This allows a cpuidle governor to choose a lower latency C-state than C1E when necessary to satisfy performance and QOS constraints -- and still save power versus polling. This also corrects the erroneous latency previously reported for C1E -- it is 10usec, not 1usec. Note that if you use "intel_idle.max_cstate=N", then you must increment N by 1 to get the same behavior after this change. Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 11 Feb, 2013 1 commit
-
-
Len Brown authored
This field is no longer used. Signed-off-by:
Len Brown <len.brown@intel.com> Acked-by:
Daniel Lezcano <daniel.lezcano@linaro.org>
-
- 10 Feb, 2013 3 commits
-
-
Len Brown authored
Remove 32-bit x86 a cmdline param "no-hlt", and the cpuinfo_x86.hlt_works_ok that it sets. If a user wants to avoid HLT, then "idle=poll" is much more useful, as it avoids invocation of HLT in idle, while "no-hlt" failed to do so. Indeed, hlt_works_ok was consulted in only 3 places. First, in /proc/cpuinfo where "hlt_bug yes" would be printed if and only if the user booted the system with "no-hlt" -- as there was no other code to set that flag. Second, check_hlt() would not invoke halt() if "no-hlt" were on the cmdline. Third, it was consulted in stop_this_cpu(), which is invoked by native_machine_halt()/reboot_interrupt()/smp_stop_nmi_callback() -- all cases where the machine is being shutdown/reset. The flag was not consulted in the more frequently invoked play_dead()/hlt_play_dead() used in processor offline and suspend. Since Linux-3.0 there has been a run-time notice upon "no-hlt" invocations indicating that it would be removed in 2012. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: x86@kernel.org
-
Len Brown authored
mwait_idle() is a C1-only idle loop intended to be more efficient than HLT, starting on Pentium-4 HT-enabled processors. But mwait_idle() has been replaced by the more general mwait_idle_with_hints(), which handles both C1 and deeper C-states. ACPI processor_idle and intel_idle use only mwait_idle_with_hints(), and no longer use mwait_idle(). Here we simplify the x86 native idle code by removing mwait_idle(), and the "idle=mwait" bootparam used to invoke it. Since Linux 3.0 there has been a boot-time warning when "idle=mwait" was invoked saying it would be removed in 2012. This removal was also noted in the (now removed:-) feature-removal-schedule.txt. After this change, kernels configured with (CONFIG_ACPI=n && CONFIG_INTEL_IDLE=n) when run on hardware that supports MWAIT will simply use HLT. If MWAIT is desired on those systems, cpuidle and the cpuidle drivers above can be enabled. Signed-off-by:
Len Brown <len.brown@intel.com> Cc: x86@kernel.org
-
Len Brown authored
This macro is only invoked by Xen, so make its definition specific to Xen. > set_pm_idle_to_default() < xen_set_default_idle() Signed-off-by:
Len Brown <len.brown@intel.com> Cc: xen-devel@lists.xensource.com
-
- 09 Feb, 2013 5 commits
-
-
Len Brown authored
Remove the assumption that cstate_tables are indexed by MWAIT flag values. Each entry identifies itself via its own flags value. This change is needed to support multiple states that share the same MWAIT flags. Note that this can have an effect on what state is described by 'N' on cmdline intel_idle.max_cstate=N on some systems. intel_idle.max_cstate=0 still disables the driver intel_idle.max_cstate=1 still results in just C1(E) However, "place holders" in the sparse C-state name-space (eg. Atom) have been removed. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
Cosmetic only. Replace use of MWAIT_MAX_NUM_CSTATES with CPUIDLE_STATE_MAX. They are both 8, so this patch has no functional change. The reason to change is that intel_idle will soon be able to export more than the 8 "major" states supported by MWAIT. When we hit that limit, it is important to know where the limit comes from. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
When verbose is enabled, print the C1E-Enable bit in MSR_IA32_POWER_CTL. also delete some redundant tests on the verbose variable. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
This patch enables turbostat to run properly on the next-generation Intel(R) Microarchitecture, code named "Haswell" (HSW). HSW supports the BCLK and counters found in SNB. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Len Brown authored
This patch enables intel_idle to run on the next-generation Intel(R) Microarchitecture code named "Haswell". Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 08 Feb, 2013 9 commits
-
-
Len Brown authored
-
Daniel Lezcano authored
Len Brown sent a patch to remove this field in the intel_idle driver. The other user of this field is the davinci cpuidle driver and a patch has been sent to remove the usage of it. This patch removes the last user of this field. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
The cpuidle_device is retrieved in the function by using directly the global variable. But the caller of this function already have this device and it can be passed as a parameter. That is one small step to encapsulate the code more. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
These different headers are not needed. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
The different definitions are not used anywhere in the code. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
The device->state_count is initialized in the cpuidle_register_device function. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by:
Sekhar Nori <nsekhar@ti.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
With one function handling the idle state and a single variable, the usage of the davinci_ops is overkill. This patch removes these ops and simplify the code. Furthermore, the 'driver_data' field is no longer used, we have 1 of the 3 remaining user of this field removed. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by:
Sekhar Nori <nsekhar@ti.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
The patch is mindless, it just moves the idle function below in the file in order to prevent forward declaration in the next patch. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by:
Sekhar Nori <nsekhar@ti.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
Daniel Lezcano authored
That will allow to cleanup the rest of the code right after, because the ops won't make sense. Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by:
Sekhar Nori <nsekhar@ti.com> Signed-off-by:
Len Brown <len.brown@intel.com>
-
- 01 Feb, 2013 3 commits
-
-
Len Brown authored
The commit, 4202735e (cpuidle: Split cpuidle_state structure and move per-cpu statistics fields) observed that the MWAIT flags for Cn on every processor to date were the same, and created get_driver_data() to supply them. Unfortunately, that assumption is false, going forward. So here we restore the MWAIT flags to the cpuidle_state table. However, instead restoring the old "driver_data" field, we put the flags into the existing "flags" field, where they probalby should have lived all along. This patch does not change any operation. This patch removes 1 of the 3 users of cpuidle_state_usage.driver_data. Perhaps some day we'll get rid of the other 2. Signed-off-by:
Len Brown <len.brown@intel.com>
-
Linus Torvalds authored
-
git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dmLinus Torvalds authored
Pull more device-mapper fixes from Alasdair G Kergon: "A fix for stacked dm thin devices and a fix for the new dm WRITE SAME support." * tag 'dm-3.8-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: dm: fix write same requests counting dm thin: fix queue limits stacking
-