On Mon, 2007-03-19 at 15:30 +0100, Christian Ehrhardt wrote:
> Hi,
> I have one more questions regarding the oprofile extension to work in 
> xenppc guests.
> 
> The plain linux implementation sets !always! the vector for the 
> performance interrupt 0xf00 to the function 
> "performance_monitor_exception" in head32.S/head64.S. Depending on 
> wether linux starts profiling this function is set to a dummy or the 
> "real" handler of e.g. oprofile.
> Now in the virtualized environment each guest set's its own interrupt 
> handler for 0xf00 (Performance monitor interrupt). Because we are 
> running with LPSE[1]=0 as Jimi wrote before the performance interrupt 
> while a Dom is running should be handled from the domain because nothing 
> sets MSR[HV] to 1.

OK, so performance monitor interrupts go directly to the guest.

> My question is now if the address translation & virtualization ensures 
> that each perf interrupt will be a) served by the right function adress 
> and b) in the domain. Maybe there is some exclusive part involved and 
> the different writes of the 0xf00 vector may overwrite each other or 
> something similar - that's why I want to ask to be sure.
> 
> Example of a system with two DomU guests that enabled the performance 
> counters.
> Running:
> Xen
> 0xf00 -> undef?

I'm not sure what to do about a perfmon interrupt in Xen. Since we're
saving/restoring the perfmon register state on domain entry/exit, can we
just disable those interrupts while running Xen?

> Dom0
> 0xf00 -> default_pmc_irq
> DomU1
> 0xf00 ->    pmc_irq_handler1
> DomU2
> 0xf00 ->    pmc_irq_handler2

I don't understand the question about translation. The domains do not
share code. For example, it is not possible for an interrupt in Dom1 to
trigger an exception handler in Dom0.

-- 
Hollis Blanchard
IBM Linux Technology Center


_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to