From 68c1caae275588ecb959789e22babd25fce9771b Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 4 Mar 2013 16:42:47 -0500 Subject: [PATCH] Linux v3.9-rc1 - Add patch from Dirk Brandewie to fix intel pstate divide error (rhbz 916833) - Disable debugging options. --- arm-tegra-ahb.patch | 14 --- config-generic | 8 +- config-nodebug | 110 +++++++++--------- config-x86-generic | 3 +- ...on-VM-that-do-not-report-max-P-state.patch | 58 +++++++++ kernel.spec | 21 +++- sources | 2 +- 7 files changed, 135 insertions(+), 81 deletions(-) delete mode 100644 arm-tegra-ahb.patch create mode 100644 intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch diff --git a/arm-tegra-ahb.patch b/arm-tegra-ahb.patch deleted file mode 100644 index 747b5c215..000000000 --- a/arm-tegra-ahb.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/drivers/amba/tegra-ahb.c b/drivers/amba/tegra-ahb.c -index ab92785..093c435 100644 ---- a/drivers/amba/tegra-ahb.c -+++ b/drivers/amba/tegra-ahb.c -@@ -130,7 +130,7 @@ static inline void gizmo_writel(struct tegra_ahb *ahb, u32 value, u32 offset) - writel(value, ahb->regs + offset); - } - --#ifdef CONFIG_ARCH_TEGRA_3x_SOC -+#ifdef CONFIG_TEGRA_IOMMU_SMMU - static int tegra_ahb_match_by_smmu(struct device *dev, void *data) - { - struct tegra_ahb *ahb = dev_get_drvdata(dev); - diff --git a/config-generic b/config-generic index 0e7b2b641..b31cf1c24 100644 --- a/config-generic +++ b/config-generic @@ -1554,13 +1554,13 @@ CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y # CONFIG_B43_BCMA_EXTRA is not set CONFIG_B43_BCMA_PIO=y -CONFIG_B43_DEBUG=y +# CONFIG_B43_DEBUG is not set CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y # CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m -CONFIG_B43LEGACY_DEBUG=y +# CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -3197,7 +3197,7 @@ CONFIG_USB_STORAGE_REALTEK=m CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_ENE_UB6250=m # CONFIG_USB_LIBUSUAL is not set -CONFIG_USB_UAS=m +# CONFIG_USB_UAS is not set # @@ -4187,7 +4187,7 @@ CONFIG_IBMASR=m CONFIG_PM_DEBUG=y CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TEST_SUSPEND=y +# CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set # CONFIG_PM_AUTOSLEEP is not set diff --git a/config-nodebug b/config-nodebug index cfabd29c7..aa7568c82 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,95 +2,95 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y -CONFIG_DEBUG_ATOMIC_SLEEP=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set -CONFIG_DEBUG_MUTEXES=y -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_LOCK_ALLOC=y -CONFIG_PROVE_LOCKING=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_PROVE_RCU=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_PROVE_RCU is not set # CONFIG_PROVE_RCU_REPEATEDLY is not set -CONFIG_DEBUG_PER_CPU_MAPS=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_CPUMASK_OFFSTACK=y -CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set -CONFIG_FAULT_INJECTION=y -CONFIG_FAILSLAB=y -CONFIG_FAIL_PAGE_ALLOC=y -CONFIG_FAIL_MAKE_REQUEST=y -CONFIG_FAULT_INJECTION_DEBUG_FS=y -CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y -CONFIG_FAIL_IO_TIMEOUT=y -CONFIG_FAIL_MMC_REQUEST=y +# CONFIG_FAULT_INJECTION is not set +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# CONFIG_FAIL_MMC_REQUEST is not set -CONFIG_SLUB_DEBUG_ON=y +# CONFIG_SLUB_DEBUG_ON is not set -CONFIG_LOCK_STAT=y +# CONFIG_LOCK_STAT is not set -CONFIG_DEBUG_STACK_USAGE=y +# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_ACPI_DEBUG=y +# CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set -CONFIG_DEBUG_SG=y +# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_DEBUG_WRITECOUNT=y -CONFIG_DEBUG_OBJECTS=y +# CONFIG_DEBUG_WRITECOUNT is not set +# CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y -CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +# CONFIG_DEBUG_OBJECTS_FREE is not set +# CONFIG_DEBUG_OBJECTS_TIMERS is not set +# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 -CONFIG_X86_PTDUMP=y +# CONFIG_X86_PTDUMP is not set -CONFIG_CAN_DEBUG_DEVICES=y +# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_SYSCTL_SYSCALL_CHECK is not set -CONFIG_DEBUG_NOTIFIERS=y +# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DMA_API_DEBUG=y +# CONFIG_DMA_API_DEBUG is not set -CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE is not set -CONFIG_DEBUG_CREDENTIALS=y +# CONFIG_DEBUG_CREDENTIALS is not set # off in both production debug and nodebug builds, # on in rawhide nodebug builds -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_EXT4_DEBUG=y +# CONFIG_EXT4_DEBUG is not set -CONFIG_DEBUG_PERF_USE_VMALLOC=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -CONFIG_JBD2_DEBUG=y +# CONFIG_JBD2_DEBUG is not set -CONFIG_NFSD_FAULT_INJECTION=y +# CONFIG_NFSD_FAULT_INJECTION is not set -CONFIG_DEBUG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_DRBD_FAULT_INJECTION=y +# CONFIG_DRBD_FAULT_INJECTION is not set -CONFIG_ATH_DEBUG=y -CONFIG_CARL9170_DEBUGFS=y -CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_CARL9170_DEBUGFS is not set +# CONFIG_IWLWIFI_DEVICE_TRACING is not set -CONFIG_DEBUG_OBJECTS_WORK=y +# CONFIG_DEBUG_OBJECTS_WORK is not set -CONFIG_DMADEVICES_DEBUG=y -CONFIG_DMADEVICES_VDEBUG=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMADEVICES_VDEBUG is not set CONFIG_PM_ADVANCED_DEBUG=y -CONFIG_CEPH_LIB_PRETTYDEBUG=y -CONFIG_QUOTA_DEBUG=y +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_QUOTA_DEBUG is not set CONFIG_PCI_DEFAULT_USE_CRS=y @@ -98,16 +98,16 @@ CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y -CONFIG_TEST_LIST_SORT=y +# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set +# CONFIG_TEST_LIST_SORT is not set -CONFIG_DETECT_HUNG_TASK=y +# CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set -CONFIG_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y diff --git a/config-x86-generic b/config-x86-generic index 5bb9d7268..226859b4e 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -197,6 +197,7 @@ CONFIG_AMILO_RFKILL=m CONFIG_ASUS_LAPTOP=m CONFIG_COMPAL_LAPTOP=m CONFIG_DELL_LAPTOP=m +CONFIG_CHROMEOS_LAPTOP=m CONFIG_EEEPC_LAPTOP=m CONFIG_FUJITSU_TABLET=m CONFIG_FUJITSU_LAPTOP=m @@ -325,7 +326,7 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_MEMTEST is not set # CONFIG_DEBUG_TLBFLUSH is not set -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set CONFIG_HP_ILO=m diff --git a/intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch b/intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch new file mode 100644 index 000000000..814631704 --- /dev/null +++ b/intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch @@ -0,0 +1,58 @@ +Hi Josh, + +Sorry for the slow resopnse you caught me on vacation :-) + +I do not have either of these VMs ATM to test against. The patch below +should solve the problem though It looks like the VM is returning zero +for the highest P state (frequency) MSR. The patch will have the driver refuse +to load and the system should fall through to one of the other configured +governors/ scaling drivers. + +Is it possible for tyou to test the patch below while I try to get a test setup +put together locally? + +Thanks in advance +--Dirk + +On 03/01/2013 06:13 AM, Josh Boyer wrote: +> Hi, +> +> We've had a report[1] that the intel_pstate driver will panic on boot +> under certain virtual machine environments. Thus far it seems VMWare +> and Hyper-V both see this. While this may be because of something those +> VMs are doing, the driver probably shouldn't cause a panic if it's +> getting some iffy data. +> +commit db138459876467dd1b4785ce2b35c9db31dab056 +Author: Dirk Brandewie +Date: Mon Mar 4 10:14:42 2013 -0800 + + cpufreq/intel_pstate: Do not load on VM that do not report max P state. + + It seems some VMs support the P state MSRs but return zeros. Fail + gracefully if we are running in this environment. + + https://bugzilla.redhat.com/show_bug.cgi?id=916833 + + Reported-by: jwboyer@redhat.com + + Signed-off-by: Dirk Brandewie +--- + drivers/cpufreq/intel_pstate.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + + +diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c +index 096fde0..2bfd083 100644 +--- a/drivers/cpufreq/intel_pstate.c ++++ b/drivers/cpufreq/intel_pstate.c +@@ -662,6 +662,9 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy) + + cpu = all_cpu_data[policy->cpu]; + ++ if (!policy->cpuinfo.max_freq) ++ return -ENODEV; ++ + intel_pstate_get_min_max(cpu, &min, &max); + + limits.min_perf_pct = (policy->min * 100) / policy->cpuinfo.max_freq; diff --git a/kernel.spec b/kernel.spec index fca4780a5..ae9c9dae2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -93,9 +93,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 0 +%define rcrev 1 # The git snapshot level -%define gitrev 15 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -157,7 +157,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 0 +%define debugbuildsenabled 1 # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} @@ -170,7 +170,7 @@ Summary: The Linux kernel %define doc_build_fail true %endif -%define rawhide_skip_docs 1 +%define rawhide_skip_docs 0 %if 0%{?rawhide_skip_docs} %define with_doc 0 %define doc_build_fail true @@ -708,7 +708,6 @@ Patch21000: arm-export-read_current_timer.patch Patch21004: arm-tegra-nvec-kconfig.patch Patch21005: arm-tegra-usb-no-reset-linux33.patch # https://patchwork.kernel.org/patch/2106061/ -Patch21006: arm-tegra-ahb.patch # versatile @@ -736,6 +735,9 @@ Patch21261: 0001-kmsg-Honor-dmesg_restrict-sysctl-on-dev-kmsg.patch #rhbz 914737 Patch21262: x86-mm-Fix-vmalloc_fault-oops-during-lazy-MMU-updates.patch +#rhbz 916833 +Patch21263: intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch + Patch22000: weird-root-dentry-name-debug.patch #selinux ptrace child permissions @@ -1296,7 +1298,6 @@ ApplyPatch vmbugon-warnon.patch ApplyPatch arm-export-read_current_timer.patch # ApplyPatch arm-tegra-nvec-kconfig.patch ApplyPatch arm-tegra-usb-no-reset-linux33.patch -ApplyPatch arm-tegra-ahb.patch # # bugfixes to drivers and filesystems @@ -1430,6 +1431,9 @@ ApplyPatch 0001-kmsg-Honor-dmesg_restrict-sysctl-on-dev-kmsg.patch #rhbz 914737 ApplyPatch x86-mm-Fix-vmalloc_fault-oops-during-lazy-MMU-updates.patch +#rhbz 916833 +ApplyPatch intel-pstate-do-not-load-on-VM-that-do-not-report-max-P-state.patch + # END OF PATCH APPLICATIONS %endif @@ -2271,6 +2275,11 @@ fi # ||----w | # || || %changelog +* Mon Mar 04 2013 Josh Boyer - 3.9.0-0.rc1.git0.1 +- Linux v3.9-rc1 +- Add patch from Dirk Brandewie to fix intel pstate divide error (rhbz 916833) +- Disable debugging options. + * Mon Mar 4 2013 Peter Robinson - Update vexpress and omap options (fix MMC on qemu, hopefully fix OMAP3) diff --git a/sources b/sources index 52d4efcb8..6c47e55e6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 1c738edfc54e7c65faeb90c436104e2f linux-3.8.tar.xz -281850f7f23f99fda6f9fa124d191ca3 patch-3.8-git15.xz +5c2d0b2d898deff74286daca6c49f565 patch-3.9-rc1.xz