summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-06-24 10:52:54 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-06-24 10:52:54 -0400
commit6998d764d48709ce7d2a23afbf1ef8fe1ff7e796 (patch)
tree922ba4d36daa9e686d372b6359a4c89ba3fe50ba
parent899ca54ff259b1b3b78d2c6d6c38ec71aaaf56cd (diff)
downloadlongterm-queue-2.6.34-6998d764d48709ce7d2a23afbf1ef8fe1ff7e796.tar.gz
oprofile: delete amd init patch; it has issues
As seen on stable mailing list 06/24/2011: > --- > > arch/x86/oprofile/op_model_amd.c | 24 ++++++++++++++++-------- > > 1 files changed, 16 insertions(+), 8 deletions(-) This patch introduces a sleeping-while-atomic bug. There is another upstream fix on top, see: commit 3d2606f42984613d324ad3047cf503bcddc3880a Author: Robert Richter <robert.richter@amd.com> Date: Fri May 20 09:46:54 2011 +0200 oprofile, x86: Enable preemption during pci device setup in IBS init This fix should be applied too (or instead). -Robert However, the 3d2606 patch differs too wildly from 2.6.34 to allow it to be used here. So leave things well enough alone for now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/arch-x86-oprofile-op_model_amd.c-Perform-initialisat.patch81
-rw-r--r--queue/series3
2 files changed, 0 insertions, 84 deletions
diff --git a/queue/arch-x86-oprofile-op_model_amd.c-Perform-initialisat.patch b/queue/arch-x86-oprofile-op_model_amd.c-Perform-initialisat.patch
deleted file mode 100644
index e7db4dc..0000000
--- a/queue/arch-x86-oprofile-op_model_amd.c-Perform-initialisat.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From e855ffc94b91d40a6564b65dd781567c251bb10b Mon Sep 17 00:00:00 2001
-From: Robert Richter <robert.richter@amd.com>
-Date: Mon, 3 Jan 2011 12:15:14 +0100
-Subject: [PATCH] arch/x86/oprofile/op_model_amd.c: Perform initialisation on
- a single CPU
-
-commit c7c25802b39c443b3745cfa973dc49a97a3491f8 upstream.
-
-Disable preemption in init_ibs(). The function only checks the
-ibs capabilities and sets up pci devices (if necessary). It runs
-only on one cpu but operates with the local APIC and some MSRs,
-thus it is better to disable preemption.
-
-[ 7.034377] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/483
-[ 7.034385] caller is setup_APIC_eilvt+0x155/0x180
-[ 7.034389] Pid: 483, comm: modprobe Not tainted 2.6.37-rc1-20101110+ #1
-[ 7.034392] Call Trace:
-[ 7.034400] [<ffffffff812a2b72>] debug_smp_processor_id+0xd2/0xf0
-[ 7.034404] [<ffffffff8101e985>] setup_APIC_eilvt+0x155/0x180
-[ ... ]
-
-Addresses https://bugzilla.kernel.org/show_bug.cgi?id=22812
-
-Reported-by: <atswartz@gmail.com>
-Signed-off-by: Robert Richter <robert.richter@amd.com>
-Cc: oprofile-list@lists.sourceforge.net <oprofile-list@lists.sourceforge.net>
-Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
-Cc: Frederic Weisbecker <fweisbec@gmail.com>
-Cc: Rafael J. Wysocki <rjw@sisk.pl>
-Cc: Dan Carpenter <error27@gmail.com>
-Cc: Andrew Morton <akpm@linux-foundation.org>
-LKML-Reference: <20110103111514.GM4739@erda.amd.com>
-[ small cleanups ]
-Signed-off-by: Ingo Molnar <mingo@elte.hu>
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
-diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c
-index 090cbbe..c8f46aa 100644
---- a/arch/x86/oprofile/op_model_amd.c
-+++ b/arch/x86/oprofile/op_model_amd.c
-@@ -497,21 +497,29 @@ static void clear_ibs_nmi(void)
- on_each_cpu(apic_clear_ibs_nmi_per_cpu, NULL, 1);
- }
-
--/* initialize the APIC for the IBS interrupts if available */
-+/*
-+ * check and reserve APIC extended interrupt LVT offset for IBS if
-+ * available
-+ *
-+ * init_ibs() preforms implicitly cpu-local operations, so pin this
-+ * thread to its current CPU
-+ */
-+
- static void ibs_init(void)
- {
-- ibs_caps = get_ibs_caps();
-+ preempt_disable();
-
-+ ibs_caps = get_ibs_caps();
- if (!ibs_caps)
-- return;
-+ goto out;
-
-- if (init_ibs_nmi()) {
-+ if (init_ibs_nmi() < 0)
- ibs_caps = 0;
-- return;
-- }
-+ else
-+ printk(KERN_INFO "oprofile: AMD IBS detected (0x%08x)\n", ibs_caps);
-
-- printk(KERN_INFO "oprofile: AMD IBS detected (0x%08x)\n",
-- (unsigned)ibs_caps);
-+out:
-+ preempt_enable();
- }
-
- static void ibs_exit(void)
---
-1.7.4.4
-
diff --git a/queue/series b/queue/series
index aa1a72d..b4c7657 100644
--- a/queue/series
+++ b/queue/series
@@ -248,9 +248,6 @@ agp-fix-arbitrary-kernel-memory-writes.patch
agp-fix-OOM-and-buffer-overflow.patch
udp-Fix-bogus-UFO-packet-generation.patch
-# Content taken from v2.6.35.11
-arch-x86-oprofile-op_model_amd.c-Perform-initialisat.patch
-
# Additional patches from stable list, or other sources
epoll-convert-max_user_watches-to-long.patch
fs-call-security_d_instantiate-in-d_obtain_alias-V2.patch