From: Borislav Petkov <bp@suse.de>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Fengguang Wu <fengguang.wu@intel.com>
Cc: "oprofile-list@lists.sf.net" <oprofile-list@lists.sf.net>,
Robert Richter <rric@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH] x86/oprofile/ppro: Do not use __this_cpu* accessors in preemptible context
Date: Tue, 7 Nov 2017 18:53:07 +0100 [thread overview]
Message-ID: <20171107175307.yl25jewyopgymil4@pd.tnic> (raw)
In-Reply-To: <CA+55aFyF1YbzKKUpxposp9O-Vtbjmc9E62cuEgqJQTP2ijb9XQ@mail.gmail.com>
On Tue, Nov 07, 2017 at 08:43:40AM -0800, Linus Torvalds wrote:
> So I'm adding Borislav to the cc just to maybe annoy him into sending
> in a patch for this thing too..
/me runs away like the wind!
> This is the famous "you touched it last, tag you're it" model of
> kernel maintainership.
Oh great, like I don't have enough crappy code to maintain already.
And besides, I'm sure Robert would've addressed it eventually, once he
moves his head up from Cavium-land. Oh well, it is simple enough, lemme
take care of it. :-)
Fengguang, please run it to confirm.
Thx.
---
From: Borislav Petkov <bp@suse.de>
Subject: [PATCH] x86/oprofile/ppro: Do not use __this_cpu* accessors in preemptible context
The warning below says it all. And we should not have used those
accessors in the first place: it is PPro so no mixed silicon revisions
and thus can simply use boot_cpu_data.
BUG: using __this_cpu_read() in preemptible [00000000] code: swapper/0/1
caller is __this_cpu_preempt_check
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.0-rc8 #4
Call Trace:
dump_stack
check_preemption_disabled
? do_early_param
__this_cpu_preempt_check
arch_perfmon_init
op_nmi_init
? alloc_pci_root_info
oprofile_arch_init
oprofile_init
do_one_initcall
...
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Fix-creation-mandated-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Robert Richter <rric@kernel.org>
Cc: x86@kernel.org
---
arch/x86/oprofile/op_model_ppro.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c
index 350f7096baac..1c3b400b05ce 100644
--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -212,8 +212,9 @@ static void arch_perfmon_setup_counters(void)
eax.full = cpuid_eax(0xa);
/* Workaround for BIOS bugs in 6/15. Taken from perfmon2 */
- if (eax.split.version_id == 0 && __this_cpu_read(cpu_info.x86) == 6 &&
- __this_cpu_read(cpu_info.x86_model) == 15) {
+ if (eax.split.version_id == 0 &&
+ boot_cpu_data.x86 == 6 &&
+ boot_cpu_data.x86_model == 15) {
eax.split.version_id = 2;
eax.split.num_counters = 2;
eax.split.bit_width = 40;
--
2.13.0
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--
next prev parent reply other threads:[~2017-11-07 17:53 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-07 9:35 [oprofile_arch_init] BUG: using __this_cpu_read() in preemptible [00000000] code: swapper/0/1 Fengguang Wu
2017-11-07 16:43 ` Linus Torvalds
2017-11-07 17:53 ` Borislav Petkov [this message]
2017-11-08 6:53 ` [PATCH] x86/oprofile/ppro: Do not use __this_cpu* accessors in preemptible context Fengguang Wu
2017-11-08 10:48 ` Thomas Gleixner
2017-11-08 11:24 ` Borislav Petkov
2017-11-08 12:01 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171107175307.yl25jewyopgymil4@pd.tnic \
--to=bp@suse.de \
--cc=fengguang.wu@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=oprofile-list@lists.sf.net \
--cc=rric@kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.