38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| NAME = 'monotonic_time'
 | |
| AUTHOR = 'Michael Davidson <md@google.com>'
 | |
| 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)
 |