Re: [Autotest] [KVM-AUTOTEST PATCH 15/17] KVM test: add timedrift test to kvm_tests.cfg.sample

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



----- "Dor Laor" <dlaor@xxxxxxxxxx> wrote:

> On 07/20/2009 06:07 PM, Michael Goldish wrote:
> > Currently the test will only run on Windows.
> > It should be able to run on Linux just as well, but if I understand
> correctly,
> > testing time drift on Linux is less interesting.
> 
> Linux is interesting too. The problem is more visible on windows
> since
> it uses 1000hz frequency when it plays multimedia. It makes timer irq
> injection harder.

If I understand correctly, most Linuxes don't use RTC at all (please
correct me if I'm wrong). This means there's no point in testing
time drift on Linux, because even if there's any drift, it won't get
corrected by -rtc-td-hack. And it's pretty hard to get a drift on
RHEL-3.9 for example -- at least it was very hard for me.

> Does the test fail without the rtc-td-hack?

The problem with the test is that it's hard to decide on the drift
thresholds for failure, because the more load you use, the larger the
drift you get.
-rtc-td-hack makes it harder to get a drift -- you need to add more load
in order to get the same drift.
However, in my experiments, when I got a drift, it was not corrected when
the load stopped. If I get 5 seconds of drift during load, and then I
stop the load and wait, the drift remains 5 seconds, which makes me think
I may be doing something wrong. I never got to see the cool fast rotating
clock either.
Another weird thing I noticed was that the drift was much larger when the
VM and load were NOT pinned to a single CPU. It could cause a leap from 5%
to 30%. (my office desktop has 2 CPUs.)
I used Vista with kvm-85 I think. I tried both video load (VLC) and dir /s.
Even if I did something wrong, I hope the test itself is OK, because its
behavior is completely configurable.

> >
> > Also make some tiny cosmetic changes (spacing), and move the
> stress_boot test
> > before the shutdown test (shutdown should be last).
> >
> > Signed-off-by: Michael Goldish<mgoldish@xxxxxxxxxx>
> > ---
> >   client/tests/kvm/kvm_tests.cfg.sample |   46
> ++++++++++++++++++++++++++------
> >   1 files changed, 37 insertions(+), 9 deletions(-)
> >
> > diff --git a/client/tests/kvm/kvm_tests.cfg.sample
> b/client/tests/kvm/kvm_tests.cfg.sample
> > index 1288952..2d75a66 100644
> > --- a/client/tests/kvm/kvm_tests.cfg.sample
> > +++ b/client/tests/kvm/kvm_tests.cfg.sample
> > @@ -92,20 +92,33 @@ variants:
> >                   test_name = disktest
> >                   test_control_file = disktest.control
> >
> > -    - linux_s3:      install setup
> > +    - linux_s3:     install setup
> >           type = linux_s3
> >
> > -    - shutdown:      install setup
> > +    - timedrift:    install setup
> > +        type = timedrift
> > +        extra_params += " -rtc-td-hack"
> > +        # Pin the VM and host load to CPU #0
> > +        cpu_mask = 0x1
> > +        # Set the load and rest durations
> > +        load_duration = 20
> > +        rest_duration = 20
> > +        # Fail if the drift after load is higher than 50%
> > +        drift_threshold = 50
> > +        # Fail if the drift after the rest period is higher than
> 10%
> > +        drift_threshold_after_rest = 10
> > +
> > +    - stress_boot:  install setup
> > +        type = stress_boot
> > +        max_vms = 5
> > +        alive_test_cmd = ps aux
> > +
> > +    - shutdown:     install setup
> >           type = shutdown
> >           kill_vm = yes
> >           kill_vm_gracefully = no
> >
> >
> > -    - stress_boot:
> > -        type = stress_boot
> > -        max_vms = 5
> > -        alive_test_cmd = ps aux
> > -
> >   # NICs
> >   variants:
> >       - @rtl8139:
> > @@ -121,6 +134,7 @@ variants:
> >   variants:
> >       # Linux section
> >       - @Linux:
> > +        no timedrift
> >           cmd_shutdown = shutdown -h now
> >           cmd_reboot = shutdown -r now
> >           ssh_status_test_command = echo $?
> > @@ -303,8 +317,6 @@ variants:
> >                              
> md5sum=bf4635e4a4bd3b43838e72bc8c329d55
> >                              
> md5sum_1m=18ecd37b639109f1b2af05cfb57dfeaf
> >
> > -
> > -
> >       # Windows section
> >       - @Windows:
> >           no autotest
> > @@ -318,6 +330,21 @@ variants:
> >               migration_test_command = ver&&  vol
> >           stress_boot:
> >               alive_test_cmd = systeminfo
> > +        timedrift:
> > +            # For this to work, the ISO should contain vlc
> (vlc.exe) and a video (ED_1024.avi)
> > +            cdrom = windows/vlc.iso
> > +            time_command = "echo TIME: %date% %time%"
> > +            time_filter_re = "(?<=TIME: \w\w\w ).{19}(?=\.\d\d)"
> > +            time_format = "%m/%d/%Y %H:%M:%S"
> > +            guest_load_command = 'cmd /c "d:\vlc -f --loop
> --no-qt-privacy-ask --no-qt-system-tray d:\ED_1024.avi"'
> > +            # Alternative guest load:
> > +            #guest_load_command = "(dir /s&&  dir /s&&  dir /s&& 
> dir /s)>  nul"
> > +            guest_load_stop_command = "taskkill /F /IM vlc.exe"
> > +            guest_load_instances = 2
> > +            host_load_command = "bzip2 -c --best /dev/urandom> 
> /dev/null"
> > +            # Alternative host load:
> > +            #host_load_command = "dd if=/dev/urandom of=/dev/null"
> > +            host_load_instances = 8
> >
> >           variants:
> >               - Win2000:
> > @@ -582,5 +609,6 @@ variants:
> >           only
> qcow2.*ide.*default.*up.*Ubuntu-8.10-server.*(autotest.sleeptest)
> >           only rtl8139
> >
> > +
> >   # Choose your test list
> >   only fc8_quick
--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux