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

[Xen-devel] IO port 0xed intercept



Gentlemen,

attached one-liner passes through IO port 0xed accesses of HVM guests.
Applying this patch improves guest boot performance of affected Linux
kernels by about 0.5 to 1.0 seconds measured from GRUB to login.

Port 0x80 is already passed-through.  Writes to port 0x80 are
traditionally used as IO delay.  Recent Linux kernel versions can be
configured to use port 0xed instead (CONFIG_IO_DELAY_0XED=y).  Ubuntu
8.04 and later kernels are configured to use port 0xed.

In Linux IO delay is implemented by (in|out)[bwl]_p.  From a first
glance at Linux it looks like the only relevant usage of delayed IO is
in drivers/video/console/vgacon.c.  Affected is VGA console
initialization and font setup.  Output / scrolling is not affected.

Signed-off-by: Thomas Friebel <thomas.friebel@xxxxxxx>


----to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Jochen Polster; Thomas M. McCoy; Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
diff -r 90ebf7f609fb -r 0e6e3341b3eb xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c    Mon Feb 23 19:11:00 2009 +0100
+++ b/xen/arch/x86/hvm/hvm.c    Wed Mar 11 19:21:15 2009 +0100
@@ -79,6 +79,7 @@ void hvm_enable(struct hvm_function_tabl
      */
     memset(hvm_io_bitmap, ~0, sizeof(hvm_io_bitmap));
     __clear_bit(0x80, hvm_io_bitmap);
+    __clear_bit(0xed, hvm_io_bitmap);
 
     hvm_funcs   = *fns;
     hvm_enabled = 1;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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