From: Peter Zijlstra <peterz@infradead.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Chris Malley <mail@chrismalley.co.uk>,
linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: perf sched record hangs machine
Date: Wed, 23 Sep 2009 11:03:37 +0200 [thread overview]
Message-ID: <1253696617.7695.126.camel@twins> (raw)
In-Reply-To: <20090923073253.GA18022@elte.hu>
On Wed, 2009-09-23 at 09:32 +0200, Ingo Molnar wrote:
> * Peter Zijlstra <peterz@infradead.org> wrote:
>
> > .size default_send_IPI_self, .-default_send_IPI_self
> >
> > Which seems to suggest that cmove is in __prepare_ICR, but I'm not
> > sure how that can cause a page-fault, as that function is rather
> > pointer-less.
> >
> > Did it maybe delay evaluating apic->dest_logical that late, it appear
> > to be the first usage of that argument?
> >
> > Ingo, any ideas?
>
> Yeah, the problem is:
>
> [ 0.042445] Local APIC not detected. Using dummy APIC emulation.
The below seems like the best fix. You disabled all lapic bits, except
that one.
---
arch/x86/kernel/cpu/perf_event.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index a3c7adb..b5801c3 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1790,6 +1790,9 @@ void smp_perf_pending_interrupt(struct pt_regs *regs)
void set_perf_event_pending(void)
{
#ifdef CONFIG_X86_LOCAL_APIC
+ if (!x86_pmu.apic || !x86_pmu_initialized())
+ return;
+
apic->send_IPI_self(LOCAL_PENDING_VECTOR);
#endif
}
next prev parent reply other threads:[~2009-09-23 9:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 21:09 perf sched record hangs machine Chris Malley
2009-09-22 21:24 ` Frederic Weisbecker
2009-09-22 21:44 ` Frederic Weisbecker
2009-09-23 6:16 ` Peter Zijlstra
2009-09-23 7:32 ` Ingo Molnar
2009-09-23 7:40 ` Ingo Molnar
2009-09-23 7:44 ` Cyrill Gorcunov
2009-09-23 8:48 ` Cyrill Gorcunov
2009-09-23 8:52 ` Peter Zijlstra
2009-09-23 9:15 ` Chris Malley
2009-09-23 9:20 ` Ingo Molnar
2009-09-23 9:48 ` Cyrill Gorcunov
2009-09-23 10:06 ` Chris Malley
2009-09-23 10:12 ` Cyrill Gorcunov
2009-09-23 10:42 ` Ingo Molnar
2009-09-23 11:41 ` Chris Malley
2009-09-23 11:42 ` Ingo Molnar
2009-09-23 12:20 ` Chris Malley
2009-09-23 12:27 ` Ingo Molnar
2009-09-23 10:41 ` Ingo Molnar
2009-09-23 9:03 ` Peter Zijlstra [this message]
2009-09-23 11:49 ` [tip:perf/urgent] perf_event, x86: Fix 'perf sched record' crashing the machine tip-bot for Peter Zijlstra
2009-09-23 12:15 ` Chris Malley
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=1253696617.7695.126.camel@twins \
--to=peterz@infradead.org \
--cc=fweisbec@gmail.com \
--cc=gorcunov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mail@chrismalley.co.uk \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.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.