On Mon, Aug 03, 2009 at 05:19:17PM +0800, Yolkfull Chow wrote: > On 06/30/2009 09:58 PM, Dor Laor wrote: >> On 06/30/2009 02:11 PM, Yolkfull Chow wrote: >>> Signed-off-by: Yolkfull Chow<yzhou@xxxxxxxxxx> >>> --- >>> client/tests/kvm/kvm.py | 1 + >>> client/tests/kvm/kvm_tests.cfg.sample | 56 ++++++++++++++++++++ >>> client/tests/kvm/kvm_tests.py | 93 >>> +++++++++++++++++++++++++++++++++ >>> client/tests/kvm/kvm_vm.py | 2 + >>> 4 files changed, 152 insertions(+), 0 deletions(-) >>> >>> diff --git a/client/tests/kvm/kvm.py b/client/tests/kvm/kvm.py >>> index 4c7bae4..4fbce5b 100644 >>> --- a/client/tests/kvm/kvm.py >>> +++ b/client/tests/kvm/kvm.py >>> @@ -55,6 +55,7 @@ class kvm(test.test): >>> "kvm_install": test_routine("kvm_install", >>> "run_kvm_install"), >>> "linux_s3": test_routine("kvm_tests", >>> "run_linux_s3"), >>> "stress_boot": test_routine("kvm_tests", >>> "run_stress_boot"), >>> + "pci_hotplug": test_routine("kvm_tests", >>> "run_pci_hotplug"), >> >> Cool! It's very good since it tends to break. >> >> >>> } >>> >>> # Make it possible to import modules from the test's bindir >>> diff --git a/client/tests/kvm/kvm_tests.cfg.sample >>> b/client/tests/kvm/kvm_tests.cfg.sample >>> index 2f864de..50b5765 100644 >>> --- a/client/tests/kvm/kvm_tests.cfg.sample >>> +++ b/client/tests/kvm/kvm_tests.cfg.sample >>> @@ -94,6 +94,52 @@ variants: >>> max_vms = 5 >>> alive_test_cmd = ps aux >>> >>> + >>> + - nic_hotplug: >>> + type = pci_hotplug >>> + pci_type = nic >>> + modprobe_acpiphp = yes >>> + reference_cmd = lspci >>> + find_pci_cmd = 'lspci | tail -n1' >>> + pci_test_cmd = 'nslookup www.redhat.com' >>> + variants: >>> + - @nic_8139: >>> + pci_model = rtl8139 >>> + match_string = "8139" >>> + - nic_virtio: >>> + pci_model = virtio >>> + match_string = "Virtio network device" >>> + - nic_e1000: >>> + pci_model = e1000 >>> + match_string = "Gigabit Ethernet Controller" >>> + >>> + - block_hotplug: >>> + type = pci_hotplug >>> + pci_type = block >>> + modprobe_acpiphp = yes >>> + reference_cmd = lspci >>> + find_pci_cmd = 'lspci | tail -n1' >>> + images += " stg" >>> + boot_drive_stg = no >>> + image_name_stg = storage >>> + image_size = 1G >>> + force_create_image_stg = yes >>> + pci_test_cmd = 'dir' >>> + no Windows >>> + variants: >>> + - block_virtio: >>> + pci_model = virtio >>> + match_string = "Virtio block device" >>> + - block_scsi: >>> + pci_model = scsi >>> + match_string = "SCSI storage controller" >>> + variants: >> >> There is no need to test qcow2/raw here since it shouldn't matter. >> You can test qcow2 only, it is enough. > > Hi Glauber, according to Dor's comments on this, I did some testing and > got an interesting result for block_hotplug: > 1) hotplug storage of raw + SCSI will always fail on Windows > 2) hotplug storage of Raw + Virtio will always fail on Fedora > 3) hotplug storage with image format Raw will also fail often on RHEL > > Does block_hotplug relate to image format? Would you give me any clue > on this? Hi, hotplugging a pci device should have nothing to do with the underlying format. However, if we are using a format that is more racy and subject to breaks, the hotplug window may make easy for race conditions to happen. For example, qcow2 with writeback caching. As for the failures you describe, I'd like to see details. They surely sound like a bug. -- 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