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