From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: [PATCH 1/4] KVM test: Add monotonic_time into the guest test Date: Mon, 22 Mar 2010 15:44:52 +0800 Message-ID: <20100322074452.16119.22820.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit To: autotest@test.kernel.org, lmr@redhat.com, kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:13034 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750889Ab0CVHk3 (ORCPT ); Mon, 22 Mar 2010 03:40:29 -0400 Sender: kvm-owner@vger.kernel.org List-ID: Monotonic_time is used to test gettimeofday(), TSC and clock_gettime(CLOCK_MONOTONIC) which is useful to test the virutal timer device. Signed-off-by: Jason Wang --- .../kvm/autotest_control/monotonic_time.control | 37 ++++++++++++++++++++ client/tests/kvm/tests_base.cfg.sample | 3 ++ 2 files changed, 40 insertions(+), 0 deletions(-) create mode 100644 client/tests/kvm/autotest_control/monotonic_time.control diff --git a/client/tests/kvm/autotest_control/monotonic_time.control b/client/tests/kvm/autotest_control/monotonic_time.control new file mode 100644 index 0000000..4dbfec4 --- /dev/null +++ b/client/tests/kvm/autotest_control/monotonic_time.control @@ -0,0 +1,37 @@ +NAME = 'monotonic_time' +AUTHOR = 'Michael Davidson ' +TIME = 'MEDIUM' +TEST_CLASS = 'Kernel' +TEST_CATEGORY = 'Functional' +TEST_TYPE = 'client' +DOC = """ +monotonic_time checks various time interfaces: + gettimeofday() + clock_gettime(CLOCK_MONTONIC) + TSC +for monotonicity. + +Based on time-warp-test.c by Ingo Molnar. +""" + +# +# Test gettimeofday(), TSC, and clock_gettime(CLOCK_MONOTONIC) +# +# Tests run for 'duration' seconds and check that the selected +# time interface does not go backwards by more than 'threshold'. +# +# Note that the threshold value has the same resolution as the +# clock source: +# gettimeofday() - microseconds +# clock_gettime(CLOCK_MONOTONIC) - nanoseconds +# TSC - CPU clock cycles +# +# +job.run_test('monotonic_time', tag='gtod', test_type='gtod', + duration=300, threshold=0) + +job.run_test('monotonic_time', tag='clock', test_type='clock', + duration=300, threshold=0) + +job.run_test('monotonic_time', tag='tsc', test_type='tsc', + duration=300, threshold=0) diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index 9963a44..2af6a05 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -133,6 +133,9 @@ variants: - cpu_hotplug: test_name = cpu_hotplug test_control_file = cpu_hotplug.control + - monotonic_time: + test_name = monotonic_time + test_control_file = monotonic_time.control - linux_s3: install setup unattended_install type = linux_s3