mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-10 17:36:11 +00:00
lib: Tweak calibration of initial settimer delay
If we assume that the first settimer and clock_gettime() itself have appreciable overhead, try to exclude those from the calibration delay. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
92a9588841
commit
4782591873
@ -182,6 +182,9 @@ static bool igt_sigiter_start(struct igt_sigiter *iter, bool enable)
|
||||
sev.sigev_signo = SIGRTMIN;
|
||||
igt_assert(timer_create(CLOCK_MONOTONIC, &sev, &__igt_sigiter.timer) == 0);
|
||||
|
||||
memset(&its, 0, sizeof(its));
|
||||
igt_assert(timer_settime(__igt_sigiter.timer, 0, &its, NULL) == 0);
|
||||
|
||||
memset(&act, 0, sizeof(act));
|
||||
act.sa_sigaction = sigiter;
|
||||
act.sa_flags = SA_SIGINFO;
|
||||
@ -192,7 +195,6 @@ static bool igt_sigiter_start(struct igt_sigiter *iter, bool enable)
|
||||
* and avoid the timer firing before we enter the drmIoctl.
|
||||
*/
|
||||
igt_assert(clock_gettime(CLOCK_MONOTONIC, &start) == 0);
|
||||
memset(&its, 0, sizeof(its));
|
||||
igt_assert(timer_settime(__igt_sigiter.timer, 0, &its, NULL) == 0);
|
||||
igt_assert(clock_gettime(CLOCK_MONOTONIC, &end) == 0);
|
||||
|
||||
@ -202,6 +204,11 @@ static bool igt_sigiter_start(struct igt_sigiter *iter, bool enable)
|
||||
__igt_sigiter.offset.tv_nsec += NSEC_PER_SEC;
|
||||
__igt_sigiter.offset.tv_sec -= 1;
|
||||
}
|
||||
if (__igt_sigiter.offset.tv_sec < 0) {
|
||||
__igt_sigiter.offset.tv_nsec = 0;
|
||||
__igt_sigiter.offset.tv_sec = 0;
|
||||
}
|
||||
igt_assert(__igt_sigiter.offset.tv_sec == 0);
|
||||
|
||||
igt_debug("Initial delay for interruption: %ld.%09lds\n",
|
||||
__igt_sigiter.offset.tv_sec,
|
||||
|
Loading…
x
Reference in New Issue
Block a user