[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 11/16] x86/VPMU: Add support for PMU register handling on PV guests
On 01/13/2014 10:58 AM, Jan Beulich wrote: On 13.01.14 at 16:44, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote:On 01/13/2014 09:12 AM, Jan Beulich wrote:On 06.01.14 at 20:24, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote:@@ -875,7 +875,9 @@ void pv_cpuid(struct cpu_user_regs *regs) unsupported: a = b = c = d = 0; break; - + case 0x0000000a: /* Architectural Performance Monitor Features (Intel) */ + vpmu_do_cpuid(0xa, &a, &b, &c, &d); + break; default:Rather than removing a blank line here, you ought to insert a second one so that there's one before _and_ after the added code block. Furthermore the need to pass 0xa as the first argument suggests that you're not in line with the intentions of vpmu_do_cpuid(): Either you drop the first parameter from the function, or you get your code in line with the existing caller.Not sure I understand the problem. We fill a, b, c and d with HW values for dom0 and then call vpmu_do_cpuid() to adjust them if needed. And whether or not this is needed is based on the first argument.Did you look at the other call site? Iirc it calls the function for all input values (and hence the need for the current first parameter of the function). I take it that the expectation was that further perfctr related leaves might be added later and/or perfctr code may need to override more than just leaf 0xa values. Oh, you meant the problem is that I don't cover leaves *other* than 0xa.I can move vpmu_do_cpuid() down to the exit path ("out" label) so that all cpuid calls are checked. This will add latency to every cpuid invocation in the guest but I guess it should be negligible (and this is what HVM does already). Incidentally, this will also solve my non-dom0 CPUID bug that I mentioned. -boris _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |