From: David Ahern <dsahern@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Avi Kivity <avi@redhat.com>, Gleb Natapov <gleb@redhat.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: perf with precise attribute kills all KVM based VMs
Date: Mon, 09 Jul 2012 09:18:13 -0600 [thread overview]
Message-ID: <4FFAF635.4020808@gmail.com> (raw)
In-Reply-To: <4FFAF19E.70507@gmail.com>
On 7/9/12 8:58 AM, David Ahern wrote:
> On 7/9/12 8:52 AM, David Ahern wrote:
>> On 7/9/12 8:49 AM, Peter Zijlstra wrote:
>>> On Mon, 2012-07-09 at 08:47 -0600, David Ahern wrote:
>>>>
>>>> I found this testing changes to perf-kvm, but found the problem extends
>>>> to just perf-record. With perf-record exclude_guest defaults to 1. See
>>>> tools/perf/util/util.c, event_attr_init().
>>>
>>> You lost me there.. so perf-record defaults to exclude_guest=1 (which
>>> would make the proposed patch I just send actually possible), but its
>>> still going *bang* ?
>>>
>>
>>
>> I can do the formality of testing your proposed patch, but yes I think
>> so. exclude_guest defaults to 1 because perf_guest defaults to false.
>
>
> Let me dig for a few minutes. exclude_user is getting reset somewhere.
> Setting a breakpoint on sys_perf_event_open and dumping the attribute:
>
> $1 = {type = 0, size = 80, config = 0, {sample_period = 4000,
> sample_freq = 4000}, sample_type = 263, read_format = 7,
> disabled = 1, inherit = 1, pinned = 0, exclusive = 0, exclude_user =
> 0, exclude_kernel = 0, exclude_hv = 0, exclude_idle =
> 0, mmap = 1, comm = 1, freq = 1, inherit_stat = 0, enable_on_exec =
> 1, task = 0, watermark = 0, precise_ip = 1,
> mmap_data = 0, sample_id_all = 1, exclude_host = 0, exclude_guest =
> 0, __reserved_1 = 0, {wakeup_events = 0,
> wakeup_watermark = 0}, bp_type = 0, {bp_addr = 0, config1 = 0},
> {bp_len = 0, config2 = 0}, branch_sample_type = 0}
>
>
Offending function is parse_events_modifier(). It resets exclude_guest
to 0. That's a separate thread/bug.
Undoing that (hardcoding exclude_guest to 1) and verifying in gdb that
it is set for all cpus:
(gdb) p *attr
$17 = {type = 0, size = 80, config = 0, {sample_period = 4000,
sample_freq = 4000}, sample_type = 423, read_format = 7,
disabled = 1, inherit = 1, pinned = 0, exclusive = 0, exclude_user =
0, exclude_kernel = 0, exclude_hv = 0, exclude_idle =
0, mmap = 1, comm = 1, freq = 1, inherit_stat = 0, enable_on_exec =
0, task = 0, watermark = 0, precise_ip = 1,
mmap_data = 0, sample_id_all = 1, exclude_host = 0, exclude_guest =
1, __reserved_1 = 0, {wakeup_events = 0,
wakeup_watermark = 0}, bp_type = 0, {bp_addr = 0, config1 = 0},
{bp_len = 0, config2 = 0}, branch_sample_type = 0}
It still bombs and the VM dies.
David
next prev parent reply other threads:[~2012-07-09 15:18 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-09 14:12 perf with precise attribute kills all KVM based VMs David Ahern
2012-07-09 14:19 ` Gleb Natapov
2012-07-09 14:24 ` Peter Zijlstra
2012-07-09 14:36 ` Gleb Natapov
2012-07-09 14:39 ` Avi Kivity
2012-07-09 14:47 ` David Ahern
2012-07-09 14:49 ` Peter Zijlstra
2012-07-09 14:51 ` Avi Kivity
2012-07-09 14:54 ` Gleb Natapov
2012-07-09 14:57 ` Gleb Natapov
2012-07-09 14:59 ` Peter Zijlstra
2012-07-10 23:38 ` David Ahern
2012-07-11 7:10 ` Gleb Natapov
2012-07-11 9:49 ` Peter Zijlstra
2012-07-11 9:53 ` Gleb Natapov
2012-07-11 13:34 ` David Ahern
2012-07-12 4:11 ` David Ahern
2012-07-12 4:29 ` Gleb Natapov
2012-07-12 15:20 ` David Ahern
2012-07-12 16:06 ` Gleb Natapov
2012-07-12 16:13 ` Gleb Natapov
2012-07-12 16:58 ` Peter Zijlstra
2012-07-16 1:51 ` David Ahern
2012-07-15 8:07 ` Avi Kivity
2012-07-15 13:00 ` David Ahern
2012-07-15 13:03 ` Avi Kivity
2012-07-16 1:52 ` David Ahern
2012-07-16 2:19 ` David Ahern
2012-07-20 23:34 ` David Ahern
2012-07-22 9:52 ` Avi Kivity
2012-07-09 14:52 ` David Ahern
2012-07-09 14:58 ` David Ahern
2012-07-09 15:18 ` David Ahern [this message]
2012-07-09 14:47 ` Peter Zijlstra
2012-07-20 23:35 ` David Ahern
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=4FFAF635.4020808@gmail.com \
--to=dsahern@gmail.com \
--cc=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.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.