Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2016-04-06 11:48:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes       
2016-03-29 09:54:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes  
2016-04-06 11:48:22.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Mar 28 09:27:57 CEST 2016 - ti...@suse.de
+
+- intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
+  (bsc#969870,boo#970968,boo#969098).
+- commit 8cf0ce6
+
+-------------------------------------------------------------------
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -63,7 +63,7 @@
 Group:          System/Kernel
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -29,7 +29,7 @@
 Group:          Documentation/Man
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -63,7 +63,7 @@
 Group:          System/Kernel
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -53,7 +53,7 @@
 Group:          SLES
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

kernel-obs-qa.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -63,7 +63,7 @@
 Group:          System/Kernel
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -32,7 +32,7 @@
 Group:          Development/Sources
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -27,7 +27,7 @@
 Version:        4.5.0
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:27.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:27.000000000 +0200
@@ -63,7 +63,7 @@
 Group:          System/Kernel
 Version:        4.5.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.gece3ff2
+Release:        <RELEASE>.g8cf0ce6
 %else
 Release:        0
 %endif

++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/intel_idle-prevent-SKL-H-boot-failure-when-C8-C9-C10 
new/patches.arch/intel_idle-prevent-SKL-H-boot-failure-when-C8-C9-C10
--- old/patches.arch/intel_idle-prevent-SKL-H-boot-failure-when-C8-C9-C10       
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/intel_idle-prevent-SKL-H-boot-failure-when-C8-C9-C10       
2016-03-28 09:27:57.000000000 +0200
@@ -0,0 +1,167 @@
+From d70e28f57e14a481977436695b0c9ba165472431 Mon Sep 17 00:00:00 2001
+From: Len Brown <len.br...@intel.com>
+Date: Sun, 13 Mar 2016 00:33:48 -0500
+Subject: [PATCH] intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
+Git-commit: d70e28f57e14a481977436695b0c9ba165472431
+Patch-mainline: 4.6-rc1
+References: bsc#969870,boo#970968,boo#969098
+
+Some SKL-H configurations require "intel_idle.max_cstate=7" to boot.
+While that is an effective workaround, it disables C10.
+
+This patch detects the problematic configuration,
+and disables C8 and C9, keeping C10 enabled.
+
+Note that enabling SGX in BIOS SETUP can also prevent this issue,
+if the system BIOS provides that option.
+
+https://bugzilla.kernel.org/show_bug.cgi?id=109081
+"Freezes with Intel i7 6700HQ (Skylake), unless intel_idle.max_cstate=7"
+
+Signed-off-by: Len Brown <len.br...@intel.com>
+Cc: sta...@vger.kernel.org
+Acked-by: Takashi Iwai <ti...@suse.de>
+
+---
+ drivers/idle/intel_idle.c |  106 
++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 85 insertions(+), 21 deletions(-)
+
+--- a/drivers/idle/intel_idle.c
++++ b/drivers/idle/intel_idle.c
+@@ -65,7 +65,7 @@
+ #include <asm/mwait.h>
+ #include <asm/msr.h>
+ 
+-#define INTEL_IDLE_VERSION "0.4"
++#define INTEL_IDLE_VERSION "0.4.1"
+ #define PREFIX "intel_idle: "
+ 
+ static struct cpuidle_driver intel_idle_driver = {
+@@ -994,36 +994,92 @@ static void intel_idle_cpuidle_devices_u
+ }
+ 
+ /*
+- * intel_idle_state_table_update()
+- *
+- * Update the default state_table for this CPU-id
++ * ivt_idle_state_table_update(void)
+  *
+- * Currently used to access tuned IVT multi-socket targets
++ * Tune IVT multi-socket targets
+  * Assumption: num_sockets == (max_package_num + 1)
+  */
+-void intel_idle_state_table_update(void)
++static void ivt_idle_state_table_update(void)
+ {
+       /* IVT uses a different table for 1-2, 3-4, and > 4 sockets */
+-      if (boot_cpu_data.x86_model == 0x3e) { /* IVT */
+-              int cpu, package_num, num_sockets = 1;
++      int cpu, package_num, num_sockets = 1;
+ 
+-              for_each_online_cpu(cpu) {
+-                      package_num = topology_physical_package_id(cpu);
+-                      if (package_num + 1 > num_sockets) {
+-                              num_sockets = package_num + 1;
+-
+-                              if (num_sockets > 4) {
+-                                      cpuidle_state_table = ivt_cstates_8s;
+-                                      return;
+-                              }
++      for_each_online_cpu(cpu) {
++              package_num = topology_physical_package_id(cpu);
++              if (package_num + 1 > num_sockets) {
++                      num_sockets = package_num + 1;
++
++                      if (num_sockets > 4) {
++                              cpuidle_state_table = ivt_cstates_8s;
++                              return;
+                       }
+               }
++      }
++
++      if (num_sockets > 2)
++              cpuidle_state_table = ivt_cstates_4s;
++
++      /* else, 1 and 2 socket systems use default ivt_cstates */
++}
++/*
++ * sklh_idle_state_table_update(void)
++ *
++ * On SKL-H (model 0x5e) disable C8 and C9 if:
++ * C10 is enabled and SGX disabled
++ */
++static void sklh_idle_state_table_update(void)
++{
++      unsigned long long msr;
++      unsigned int eax, ebx, ecx, edx;
++
++
++      /* if PC10 disabled via cmdline intel_idle.max_cstate=7 or shallower */
++      if (max_cstate <= 7)
++              return;
++
++      /* if PC10 not present in CPUID.MWAIT.EDX */
++      if ((mwait_substates & (0xF << 28)) == 0)
++              return;
++
++      rdmsrl(MSR_NHM_SNB_PKG_CST_CFG_CTL, msr);
++
++      /* PC10 is not enabled in PKG C-state limit */
++      if ((msr & 0xF) != 8)
++              return;
++
++      ecx = 0;
++      cpuid(7, &eax, &ebx, &ecx, &edx);
++
++      /* if SGX is present */
++      if (ebx & (1 << 2)) {
++
++              rdmsrl(MSR_IA32_FEATURE_CONTROL, msr);
+ 
+-              if (num_sockets > 2)
+-                      cpuidle_state_table = ivt_cstates_4s;
+-              /* else, 1 and 2 socket systems use default ivt_cstates */
++              /* if SGX is enabled */
++              if (msr & (1 << 18))
++                      return;
++      }
++
++      skl_cstates[5].disabled = 1;    /* C8-SKL */
++      skl_cstates[6].disabled = 1;    /* C9-SKL */
++}
++/*
++ * intel_idle_state_table_update()
++ *
++ * Update the default state_table for this CPU-id
++ */
++
++static void intel_idle_state_table_update(void)
++{
++      switch (boot_cpu_data.x86_model) {
++
++      case 0x3e: /* IVT */
++              ivt_idle_state_table_update();
++              break;
++      case 0x5e: /* SKL-H */
++              sklh_idle_state_table_update();
++              break;
+       }
+-      return;
+ }
+ 
+ /*
+@@ -1063,6 +1119,14 @@ static int __init intel_idle_cpuidle_dri
+               if (num_substates == 0)
+                       continue;
+ 
++              /* if state marked as disabled, skip it */
++              if (cpuidle_state_table[cstate].disabled != 0) {
++                      pr_debug(PREFIX "state %s is disabled",
++                              cpuidle_state_table[cstate].name);
++                      continue;
++              }
++
++
+               if (((mwait_cstate + 1) > 2) &&
+                       !boot_cpu_has(X86_FEATURE_NONSTOP_TSC))
+                       mark_tsc_unstable("TSC halts in idle"

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:28.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:28.000000000 +0200
@@ -207,6 +207,8 @@
 ## cpuidle perf events cleanups and related
        patches.arch/perf_timechart_fix_zero_timestamps.patch
 
+       patches.arch/intel_idle-prevent-SKL-H-boot-failure-when-C8-C9-C10
+
        ########################################################
        # AGP, graphics related stuff
        ########################################################

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.EcLoMc/_old  2016-04-06 11:48:28.000000000 +0200
+++ /var/tmp/diff_new_pack.EcLoMc/_new  2016-04-06 11:48:28.000000000 +0200
@@ -1,3 +1,3 @@
-2016-03-24 13:22:16 +0100
-GIT Revision: ece3ff2ef508d3cde89ea615cf42ff7b43a86723
+2016-03-28 09:27:57 +0200
+GIT Revision: 8cf0ce6b84d58647e9ee955bc81db84023542f5f
 GIT Branch: stable


Reply via email to