Re: [34-longterm 228/247] arch/x86/oprofile/op_model_amd.c: Performinitialisation on a single CPU

From: Robert Richter
Date: Fri Jun 24 2011 - 05:23:16 EST


On 23.06.11 13:34:56, Paul Gortmaker wrote:
> From: Robert Richter <robert.richter@xxxxxxx>
>
> -------------------
> This is a commit scheduled for the next v2.6.34 longterm release.
> If you see a problem with using this for longterm, please comment.
> -------------------
>
> 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@xxxxxxxxx>
> Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
> Cc: oprofile-list@xxxxxxxxxxxxxxxxxxxxx <oprofile-list@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Rafael J. Wysocki <rjw@xxxxxxx>
> Cc: Dan Carpenter <error27@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> LKML-Reference: <20110103111514.GM4739@xxxxxxxxxxxx>
> [ small cleanups ]
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> ---
> 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@xxxxxxx>
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

--
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/