[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] LVTPC masking in Intel VPMU code

----- haitao.shan@xxxxxxxxx wrote:

> Hi, Jan,
> This is a pretty old code. :) I did not copy or borrow the oprofile
> and perf code at all. Thus, I am not aware of the quirk. (Actually, I
> don't know what quirk you mean).
> For Xen's PMI handler, I just unmask the source and deliver a virtual
> one. Here in this code, I see I unmasked the physical one and mask the
> virtual LVTPC.

The reason I am asking is because I am trying to factor out common code
from VMX and SVM into VPMU code. AMD code doesn't have this and I can run
on Intel (at least on the HW that I have) without these two lines as well.

But more importantly I am not sure I understand why this is needed.

> Can you tell me more about the oprofile/perf background?



> Shan Haitao
> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] 
> Sent: Thursday, March 28, 2013 7:26 PM
> To: Shan, Haitao
> Cc: xen-devel; Boris Ostrovsky
> Subject: Re: [Xen-devel] LVTPC masking in Intel VPMU code
> >>> On 27.03.13 at 22:34, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> wrote:
> > Can someone explain why we have these lines in 
> > vpmu_core2.c:core2_vpmu_do_interrupt():
> >      apic_write_around(APIC_LVTPC, apic_read(APIC_LVTPC) & 
> >      ...
> >      vlapic_set_reg(vlapic, APIC_LVTPC, vlapic_lvtpc |
> > 
> > There is similar code in Linux oprofile with a comment that this is
> done 
> > due to some sort of
> > a quirk on P4 and PentiumM. Is this why it's in 
> > core2_vpmu_do_interrupt() as well?
> > 
> > I don't see a quirk like this in Linux perf code.
> Haitao, you contributed that code a long while back. Any comment?
> Jan

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.