diff options
Diffstat (limited to 'meta-eas/recipes-kernel/linux/linux-renesas/0020-x86-topology-Define-x86-s-arch_update_cpu_topology.patch')
-rw-r--r-- | meta-eas/recipes-kernel/linux/linux-renesas/0020-x86-topology-Define-x86-s-arch_update_cpu_topology.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/meta-eas/recipes-kernel/linux/linux-renesas/0020-x86-topology-Define-x86-s-arch_update_cpu_topology.patch b/meta-eas/recipes-kernel/linux/linux-renesas/0020-x86-topology-Define-x86-s-arch_update_cpu_topology.patch new file mode 100644 index 0000000..338ea13 --- /dev/null +++ b/meta-eas/recipes-kernel/linux/linux-renesas/0020-x86-topology-Define-x86-s-arch_update_cpu_topology.patch @@ -0,0 +1,67 @@ +From 32b4c21d163c96ff9fa1829c7a4f325aca0655a7 Mon Sep 17 00:00:00 2001 +From: Tim Chen <tim.c.chen@linux.intel.com> +Date: Tue, 22 Nov 2016 12:23:54 -0800 +Subject: [PATCH 20/92] x86/topology: Define x86's arch_update_cpu_topology + +The scheduler calls arch_update_cpu_topology() to check whether the +scheduler domains have to be rebuilt. + +So far x86 has no requirement for this, but the upcoming ITMT support +makes this necessary. + +Request the rebuild when the x86 internal update flag is set. + +Suggested-by: Morten Rasmussen <morten.rasmussen@arm.com> +Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com> +Cc: linux-pm@vger.kernel.org +Cc: peterz@infradead.org +Cc: jolsa@redhat.com +Cc: rjw@rjwysocki.net +Cc: linux-acpi@vger.kernel.org +Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> +Cc: bp@suse.de +Link: http://lkml.kernel.org/r/bfbf5591276ec60b2af2da798adc1060df1e2a5f.1479844244.git.tim.c.chen@linux.intel.com +Signed-off-by: Thomas Gleixner <tglx@linutronix.de> + +(cherry picked from commit 7d25127cef44924f1013d119ba385095ca4b4a83) +Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com> +--- + arch/x86/include/asm/topology.h | 1 + + arch/x86/kernel/smpboot.c | 11 +++++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h +index cf75871..a5ca88a 100644 +--- a/arch/x86/include/asm/topology.h ++++ b/arch/x86/include/asm/topology.h +@@ -146,4 +146,5 @@ static inline void arch_fix_phys_package_id(int num, u32 slot) + int x86_pci_root_bus_node(int bus); + void x86_pci_root_bus_resources(int bus, struct list_head *resources); + ++extern bool x86_topology_update; + #endif /* _ASM_X86_TOPOLOGY_H */ +diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c +index 42f5eb7..ac61ee7 100644 +--- a/arch/x86/kernel/smpboot.c ++++ b/arch/x86/kernel/smpboot.c +@@ -109,6 +109,17 @@ + /* Maximum number of SMT threads on any online core */ + int __max_smt_threads __read_mostly; + ++/* Flag to indicate if a complete sched domain rebuild is required */ ++bool x86_topology_update; ++ ++int arch_update_cpu_topology(void) ++{ ++ int retval = x86_topology_update; ++ ++ x86_topology_update = false; ++ return retval; ++} ++ + static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip) + { + unsigned long flags; +-- +1.9.1 + |