On 9/6/12 1:02 PM, Robert Richter wrote:
David,
just found your patch...
On 20.07.12 17:25:53, David Ahern wrote:
PEBS cannot be used with guest mode. If user adds :p modifier set
exclude_guest as well.
@@ -653,6 +653,9 @@ int parse_events_modifier(struct list_head *list, char *str)
eH = 0;
} else if (*str == 'p') {
precise++;
+ /* use of precise requires exclude_guest */
+ if (!exclude_GH)
+ eG = 1;
We should only enable exclude_guest if no G/H modifiers are given on
the command line. If I correctly read the code this is indicated by
exclude_GH and correctly implemented.
yes.
To summarize how I think it should work:
-e cycles:p ..... Enable exclude_guest bit. If the syscall fails,
fall back by disabling the guest bit and send
syscall again
I think the fallback scenarios are getting out of hand -- too many and
too many combinations. For this case (:p only) I proposed setting
exclude_guest. It should not fail if the pebs/ibs is supported. If so,
give the user a helpful message. e.g., https://lkml.org/lkml/2012/7/20/440
-e cycles:pGH ... Do not enable exclude_guest/_host. Do not fall back
on syscall errors.
In this case give the user a message that the requested combination is
invalid. I have a patch similar to the one above for this.
Same for the case the p modifier is not set.
So we have the following:
G ... set exclude_host bit, clear exclude_guest
H ... set exclude_guest bit, clear exclude_host
GH ... clear both exclude_guest/_host
<no G or H> ... default (set exclude_host bit, clear exclude_guest),
but fall back on syscall errors to clear both
exclude_guest/_host
you lost me on the last one. If the user specifies no attributes on the
events then exclude_host/exclude_guest is controlled by the
perf_host/perf_guest variables - see event_attr_init().
The modifier parser should be correctly implemented and should work
with ibs. Will test this patch.
Thanks!
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/