WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops)

To: Ingo Molnar <mingo@xxxxxxx>
Subject: [Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops)
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Wed, 20 May 2009 10:57:18 -0700
Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, the arch/x86 maintainers <x86@xxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Wed, 20 May 2009 10:58:14 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090519123548.GA26439@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1242170724-13349-1-git-send-email-jeremy@xxxxxxxx> <20090519123548.GA26439@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.21 (X11/20090320)
Ingo Molnar wrote:
Since they are not performance critical, then why doesnt Xen catch the IO-APIC accesses, and virtualizes the device?

If you want to hook into the IO-APIC code at such a low level, why dont you hook into the _hardware_ API - i.e. catch those setup/routing modifications to the IO-APIC space. No Linux changes are needed in that case.

Yes, these changes aren't for a performance reason. It's a case where a few lines change in Linux saves many hundreds or thousands of lines change in Xen.

Xen doesn't have an internal mechanism for emulating devices via pagefaults (that's generally handled by a qemu instance running as part of a guest domain), so there's no mechanism to map and emulate the io-apic. Putting such support into Xen would mean adding a pile of new infrastructure to support this case.

Unlike the mtrr discussion, where the msr read/write ops would allow us to emulate the mtrr within the Xen-specific parts of the kernel, the io-apic ops are just accessed via normal memory writes which we can't hook, so it would have to be done within Xen.

The other thing I thought about was putting a hook in the Linux pagefault handler, so we could emulate the ioapic at that level. But putting a hook in a very hot path to avoid code changes in a cold path doesn't make any sense. (Same applies to doing PF emulation within Xen; that's an even hotter path than Linux's.)

   J

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

<Prev in Thread] Current Thread [Next in Thread>