Messages in this thread | | | Subject | Re: [RFC PATCH] perf/core: don't sample kernel regs upon skid | From | Boris Ostrovsky <> | Date | Wed, 11 Jul 2018 11:33:35 -0400 |
| |
On 07/11/2018 01:59 AM, Mark Rutland wrote: > On Mon, Jul 09, 2018 at 06:42:29PM -0400, Boris Ostrovsky wrote: >> On 07/02/2018 12:02 PM, Mark Rutland wrote: >>> On Mon, Jul 02, 2018 at 05:46:55PM +0200, Peter Zijlstra wrote: >>>> On Mon, Jul 02, 2018 at 04:12:50PM +0100, Mark Rutland wrote: >>>>> +static struct pt_regs *perf_get_sample_regs(struct perf_event *event, >>>>> + struct pt_regs *regs) >>>>> +{ >>>>> + /* >>>>> + * Due to interrupt latency (AKA "skid"), we may enter the kernel >>>>> + * before taking an overflow, even if the PMU is only counting user >>>>> + * events. >>>>> + * >>>>> + * If we're not counting kernel events, always use the user regs when >>>>> + * sampling. >>>>> + * >>>>> + * TODO: what do we do about sampling a guest's registers? The IP is >>>>> + * special-cased, but for the rest of the regs they'll get the >>>>> + * user/kernel regs depending on whether exclude_kernel is set, which >>>>> + * is nonsensical. >>>>> + * >>>>> + * We can't get at the full set of regs in all cases (e.g. Xen's PV PMU >>>>> + * can't provide the GPRs), so should we just zero the GPRs when in a >>>>> + * guest? Or skip outputting the regs in perf_output_sample? >>>> Seems daft Xen cannot provide registers; why is that? Boris? >>> The xen_pmu_regs structure simply doesn't have them, so I assume there's >>> no API to get them. >>> >>> Given we don't currently sample the guest regs, I'd be tempted to just >>> zero them for now, or skip the sample at output time (if that doesn't >>> break some other case). >> (Was out on vacation, couldn't respond earlier) >> >> Yes, PV guests only get a limited set of registers passed to the handler >> by the hypervisor. GPRs are not part of this set. > Is that also true for Dom0?
Yes. As far as VPMU is concerned there is (almost) no differences between privileged (i.e. dom0) and unprivileged PV guests.
-boris
| |