From e786a08cf99af0167fd2097667e4437c12bd2bc2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 16 Apr 2012 12:51:09 -0700 Subject: [PATCH] remove queue-3.3/arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch --- ...ait-for-reprogramming-on-active-cpus.patch | 48 ------------------- queue-3.3/series | 1 - 2 files changed, 49 deletions(-) delete mode 100644 queue-3.3/arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch diff --git a/queue-3.3/arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch b/queue-3.3/arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch deleted file mode 100644 index b835b876954..00000000000 --- a/queue-3.3/arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9f85550347f51c79a917b2aec04c90691c11e20a Mon Sep 17 00:00:00 2001 -From: Linus Walleij -Date: Tue, 10 Apr 2012 12:37:42 +0100 -Subject: ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus - -From: Linus Walleij - -commit 9f85550347f51c79a917b2aec04c90691c11e20a upstream. - -During booting of cpu1, there is a short window where cpu1 -is online, but not active where cpu1 is occupied by waiting -to become active. If cpu0 then decides to schedule something -on cpu1 and wait for it to complete, before cpu0 has set -cpu1 active, we have a deadlock. - -Typically it's this CPU frequency transition that happens at -this time, so let's just not wait for it to happen, it will -happen whenever the CPU eventually comes online instead. - -Cc: Peter Zijlstra -Signed-off-by: Jonas Aaberg -Reviewed-by: Rickard Andersson -Signed-off-by: Linus Walleij -Signed-off-by: Russell King -Signed-off-by: Greg Kroah-Hartman - ---- - arch/arm/kernel/smp_twd.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/arch/arm/kernel/smp_twd.c -+++ b/arch/arm/kernel/smp_twd.c -@@ -115,10 +115,14 @@ static int twd_cpufreq_transition(struct - * The twd clock events must be reprogrammed to account for the new - * frequency. The timer is local to a cpu, so cross-call to the - * changing cpu. -+ * -+ * Only wait for it to finish, if the cpu is active to avoid -+ * deadlock when cpu1 is spinning on while(!cpu_active(cpu1)) during -+ * booting of that cpu. - */ - if (state == CPUFREQ_POSTCHANGE || state == CPUFREQ_RESUMECHANGE) - smp_call_function_single(freqs->cpu, twd_update_frequency, -- NULL, 1); -+ NULL, cpu_active(freqs->cpu)); - - return NOTIFY_OK; - } diff --git a/queue-3.3/series b/queue-3.3/series index e0b6b0d392d..0050aed73cc 100644 --- a/queue-3.3/series +++ b/queue-3.3/series @@ -7,7 +7,6 @@ drm-i915-properly-compute-dp-dithering-for-user-created-modes.patch drm-i915-make-rc6-module-parameter-read-only.patch rtlwifi-preallocate-usb-read-buffers-and-eliminate-kalloc-in-read-routine.patch rtlwifi-add-missing-dma-buffer-unmapping-for-pci-drivers.patch -arm-7359-2-smp_twd-only-wait-for-reprogramming-on-active-cpus.patch arm-7379-1-dt-fix-atags_to_fdt-second-call-site.patch arm-7384-1-thumbee-disable-userspace-teehbr-access-for-config_arm_thumbee.patch md-raid1-raid10-fix-calculation-of-vcnt-when-processing-error-recovery.patch -- 2.47.3