1. 17 6月, 2015 1 次提交
  2. 10 3月, 2015 1 次提交
  3. 30 9月, 2014 2 次提交
    • S
      libqos: use microseconds instead of iterations for virtio timeout · 70556264
      Stefan Hajnoczi 提交于
      Some hosts are slow or overloaded so test execution takes a long time.
      Test cases use timeouts to protect against an infinite loop stalling the
      test forever (especially important in automated test setups).
      
      Commit 6cd14054 ("libqos virtio:
      Increase ISR timeout") increased the clock_step() value in an attempt to
      lengthen the virtio interrupt wait timeout, but timeout failures are
      still occuring on the Travis automated testing platform.
      
      This is because clock_step() only affects the guest's virtual time.
      Virtio requests can be bottlenecked on host disk I/O latency - which
      cannot be improved by stepping the clock, so the fix was ineffective.
      
      This patch changes the qvirtio_wait_queue_isr() and
      qvirtio_wait_config_isr() timeout mechanism from loop iterations to
      microseconds.  This way the test case can specify an absolute 30 second
      timeout.  Number of loop iterations is not a reliable timeout mechanism
      since the speed depends on many factors including host performance.
      
      Tests should no longer timeout on overloaded Travis instances.
      
      Cc: Marc Marí <marc.mari.barcelo@gmail.com>
      Reported-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      70556264
    • S
      libqos: improve event_index test with timeout · e8c81b4d
      Stefan Hajnoczi 提交于
      The virtio event_index feature lets the device driver tell the device
      how many requests to process before raising the next interrupt.
      virtio-blk-test.c tries to verify that the device does not raise an
      interrupt unnecessarily.
      
      Unfortunately the test has a race condition.  It spins checking for an
      interrupt up to 100 times and then assumes the request has finished.  On
      a slow host the I/O request could still be in flight and the test would
      fail.
      
      This patch waits for the request to complete, or until a 30-second
      timeout is reached.  If an interrupt is raised while waiting the test
      fails since the device was not supposed to raise interrupts.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e8c81b4d
  4. 08 9月, 2014 6 次提交