On Sun, 2011-06-19 at 20:29 +0800, Flypen CloudMe wrote: > Hi, > > Here are the command line: > > /usr/bin/qemu-kvm -S -M rhel6.0.0 -enable-kvm -m 2048 -smp > 2,sockets=1,cores=2,threads=1 \ > -name winxp -uuid 23cd2751-8a30-dd34-db47-bfc8c76ccadb -nodefconfig > -nodefaults \ > -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/winxp.monitor,server,nowait > -mon chardev=monitor,mode=readline \ > -rtc base=localtime -boot c -device lsi,id=scsi0,bus=pci.0,addr=0x5 > -device lsi,id=scsi1,bus=pci.0,addr=0x6 \ > -device lsi,id=scsi2,bus=pci.0,addr=0x7 -device > lsi,id=scsi3,bus=pci.0,addr=0x8 \ > -drive file=/mnt/vmdisk/winxp.disk,if=none,id=drive-ide0-0-0,boot=on,format=raw,cache=none > \ > -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ > -drive file=/mnt/vmdisk/virtio-win-1.1.16.vfd,if=none,id=drive-fdc0-0-0,format=raw,cache=none\ > -global isa-fdc.driveA=drive-fdc0-0-0 -drive > file=/dev/sd1,if=none,id=drive-scsi0-0-0,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0 \ > -drive file=/dev/sdb,if=none,id=drive-scsi0-0-1,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=1,drive=drive-scsi0-0-1,id=scsi0-0-1 \ > -drive file=/dev/sdc,if=none,id=drive-scsi0-0-2,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=2,drive=drive-scsi0-0-2,id=scsi0-0-2 \ > -drive file=/dev/sdd,if=none,id=drive-scsi0-0-3,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=3,drive=drive-scsi0-0-3,id=scsi0-0-3 \ > -drive file=/dev/sde,if=none,id=drive-scsi0-0-4,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=4,drive=drive-scsi0-0-4,id=scsi0-0-4 \ > -drive file=/dev/sdf,if=none,id=drive-scsi3-0-0,format=raw,cache=none \ > -device scsi-disk,bus=scsi3.0,scsi-id=0,drive=drive-scsi3-0-0,id=scsi3-0-0 \ > -drive file=/mnt/vmdisk/D/1,if=none,id=drive-scsi0-0-6,format=raw,cache=none \ > -device scsi-disk,bus=scsi0.0,scsi-id=6,drive=drive-scsi0-0-6,id=scsi0-0-6 \ > -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb \ > -vnc 0.0.0.0:0 -k en-us -vga vmware -device > pci-assign,host=02:00.0,id=hostdev0,configfd=18,bus=pci.0,addr=0x3 \ > -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 That's a lot of SCSI controllers. Why are you creating 4 separate lsi SCSI controller devices, but only using 2 of them? Can you reduce the problem by just using 1? If so, then you might be able to move the assigned device and lsi device addr around so the guest will use different INTx interrupts for these (or at least move them until the assigned device gets an interrupt in the guest exclusively). Is the guest Windows XP 32bit or 64bit? A 64bit Windows is probably more likely to enable MSI interrupts (which hopefully your assigned device supports), which would also eliminate INTx sharing problems. > The NIC and one SCSI controller (slot 7) has the same IRQ. The > performance in XP is really bad. When writing traffic to the drive, > the NIC can't be accessed, and ping will be also timeout. > If I let the NIC has the different IRQ number, then everything is OK. > Is it related to INTx model for XP? Maybe so. Most of the guest/device combinations we test for device assignment make use of MSI/X interrupts, which are more efficient, and avoid these sorts of problems. > We rebuild the QEMU, and add the LSI SCSI controller support. Why does > RHEL6 removes its support? Is this controller too old? Are there any > emulated SCSI devices to replace it? We remove it because it's not well used or tested and we don't want to support it. Virtio-blk is the alternative we'd typically recommend for guests with supported drivers. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html