From: jbeulich@novell.com Subject: Xen: improve floppy behavior Patch-mainline: n/a References: bnc#584216 Timing is significantly different from native both because Xen traps I/O port accesses and using DMA not being possible (without intrusive changes). Due to the overhead of trapped port accesses, I/O is already slow enough (and Xen doesn't run on very old hardware anyway), so the situation can easily be improved by not enforcing REALLY_SLOW_IO. This doesn't completely address the issue - Xen just cannot guarantee scheduling of a particular vCPU with a maximum latency of about 80us (needed for the default FIFO threshold value of 10). The only complete solution would require making ISA DMA usable on Xen. --- sle11sp1-2010-03-01.orig/drivers/block/floppy.c 2009-12-03 04:51:21.000000000 +0100 +++ sle11sp1-2010-03-01/drivers/block/floppy.c 2010-03-05 09:16:48.000000000 +0100 @@ -147,7 +147,9 @@ #define FLOPPY_SANITY_CHECK #undef FLOPPY_SILENT_DCL_CLEAR +#ifndef CONFIG_XEN #define REALLY_SLOW_IO +#endif #define DEBUGT 2 #define DCL_DEBUG /* debug disk change line */