repository: /home/avi/kvm
branch: master
commit de5397c2a6519db793f4f23e8c058cd7983cbcaf
Author: Avi Kivity <[EMAIL PROTECTED]>
Date:   Sun Dec 9 14:50:51 2007 +0200

    kvm: testsuite: improve printf() performance
    
    a string I/O instruction is much faster than byte-at-a-time.
    
    Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/user/test/x86/lib/printf.c b/user/test/x86/lib/printf.c
index f13bf0c..5caec24 100644
--- a/user/test/x86/lib/printf.c
+++ b/user/test/x86/lib/printf.c
@@ -1,6 +1,7 @@
 #include "printf.h"
 #include "smp.h"
 #include <stdarg.h>
+#include "string.h"
 
 static struct spinlock lock;
 
@@ -149,8 +150,9 @@ int snprintf(char *buf, int size, const char *fmt, ...)
 
 void print_serial(const char *buf)
 {
-    while (*buf)
-       asm volatile ("out %%al, $0xf1" : : "a"(*buf++));
+    unsigned long len = strlen(buf);
+
+    asm volatile ("rep/outsb" : "+S"(buf), "+c"(len) : "d"(0xf1));
 }
 
 int printf(const char *fmt, ...)

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to