From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Noonan <steven@uplinklabs.net>,
Ben Guthro <ben@guthro.net>,
linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
Ingo Molnar <mingo@elte.hu>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Jeremy Fitzhardinge <jeremy@goop.org>
Subject: Re: bisected: 'perf top' causing soft lockups under Xen
Date: Tue, 20 Mar 2012 11:23:54 -0400 [thread overview]
Message-ID: <20120320152354.GB29135@phenom.dumpdata.com> (raw)
In-Reply-To: <20120215161741.GC4093@phenom.dumpdata.com>
On Wed, Feb 15, 2012 at 11:17:41AM -0500, Konrad Rzeszutek Wilk wrote:
> On Wed, Feb 15, 2012 at 10:25:44AM +0100, Peter Zijlstra wrote:
> > On Wed, 2012-02-15 at 00:57 -0800, Steven Noonan wrote:
> > > It seems to me that there are two options for fixing this, but I'm
> > > probably lacking the necessary context (or experience with Xen). Either:
> > >
> > > - The patch provided by Ben needs to have additional work to specially
> > > handle IRQ_WORK_VECTOR, since it seems to be a special case where
> > > there's no event channel attached for it. Perhaps adding an event
> > > channel for this is the fix? Seems high-overhead, but I lack a good
> > > understanding of how interrupts are handled in Xen.
> >
> > So that's a self-IPI, is Xen failing to implement this?
>
> It does have self-IPIs.
> >
> > > or
> > >
> > > - Perf needs to be "enlightened" about Xen and avoid sending an IPI in
> > > the first place.
> >
> > Uhm, no. If anything Xen should simply not implement
> > arch_irq_work_raise(). The callbacks are then ran from the timer
> > interrupt.
>
> Looks like that wouldn't be too difficult - meaning implement a similar
> form of IRQ_WORKER that would call
>
> inc_irq_stat(apic_irq_work_irqs);
> irq_work_run();
>
> .. along with the rest of the stuff from Ben's patch. Let me see if I can
> prep a patch.
Peter,
I am going to start cracking at this to see why the self-IPI don't seem to
work, while the patch that was removed (so the NMI, would just check on its
own CPU whether it was called without doing the NMI).
But in the meantime, are there any good docs to look over to get a good idea
of how the perf code works?
Thanks.
next prev parent reply other threads:[~2012-03-20 15:28 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-10 2:32 bisected: 'perf top' causing soft lockups under Xen Steven Noonan
2012-02-10 16:12 ` Konrad Rzeszutek Wilk
2012-02-10 17:24 ` Peter Zijlstra
2012-02-10 17:28 ` Peter Zijlstra
2012-02-10 19:04 ` Konrad Rzeszutek Wilk
2012-02-11 2:34 ` Ben Guthro
2012-02-12 20:50 ` Steven Noonan
2012-02-15 8:57 ` Steven Noonan
2012-02-15 9:25 ` Peter Zijlstra
2012-02-15 9:32 ` Steven Noonan
2012-02-15 17:14 ` Konrad Rzeszutek Wilk
2012-02-15 16:17 ` Konrad Rzeszutek Wilk
2012-03-20 15:23 ` Konrad Rzeszutek Wilk [this message]
2012-03-20 15:33 ` Peter Zijlstra
2012-02-10 19:14 ` Steven Noonan
2012-02-10 19:27 ` Steven Noonan
2012-02-10 19:29 ` Arnaldo Carvalho de Melo
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=20120320152354.GB29135@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=ben@guthro.net \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=steven@uplinklabs.net \
/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.