Re: [PATCH 4/4] kvm: Implement PEBS virtualization

From: Andi Kleen
Date: Sun Jun 22 2014 - 15:02:42 EST


> First, it's not sufficient to pin the debug store area, you also
> have to pin the guest page tables that are used to map the debug
> store. But even if you do that, as soon as the guest fork()s, it
> will create a new pgd which the host will be free to swap out. The
> processor can then attempt a PEBS store to an unmapped address which
> will fail, even though the guest is configured correctly.

That's a good point. You're right of course.

The only way I can think around it would be to intercept CR3 writes
while PEBS is active and always pin all the table pages leading
to the PEBS buffer. That's slow, but should be only needed
while PEBS is running.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/