From 22d9bc0bc1ccd869ebcc93f9a57efc8a85840cb8 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 9 Dec 2011 23:48:11 +0000 Subject: [PATCH] sna: Use a single definition for the inactive cache timeout And share it between the timer and the expiration function, just to simplify the code. Signed-off-by: Chris Wilson --- src/sna/kgem.c | 2 +- src/sna/kgem.h | 1 + src/sna/sna_accel.c | 8 ++------ 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/sna/kgem.c b/src/sna/kgem.c index efe1c352..1c9da8ec 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -1159,7 +1159,7 @@ bool kgem_expire_cache(struct kgem *kgem) list_for_each_entry(bo, &kgem->inactive[i], list) { assert(bo->purged); if (bo->delta) { - expire = now - 5; + expire = now - MAX_INACTIVE_TIME; break; } diff --git a/src/sna/kgem.h b/src/sna/kgem.h index 59e64cf5..14faa709 100644 --- a/src/sna/kgem.h +++ b/src/sna/kgem.h @@ -347,6 +347,7 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem, void kgem_buffer_read_sync(struct kgem *kgem, struct kgem_bo *bo); void kgem_throttle(struct kgem *kgem); +#define MAX_INACTIVE_TIME 10 bool kgem_expire_cache(struct kgem *kgem); void kgem_cleanup_cache(struct kgem *kgem); diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index e4d6ffb6..db225079 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -8474,13 +8474,9 @@ static Bool sna_accel_do_expire(struct sna *sna) if (sna->timer[EXPIRE_TIMER] == -1) return TRUE; - /* Initial expiration after 5s. */ - to.it_value.tv_sec = 5; - to.it_value.tv_nsec = 0; - - /* Then periodic update every 10s.*/ - to.it_interval.tv_sec = 10; + to.it_interval.tv_sec = MAX_INACTIVE_TIME; to.it_interval.tv_nsec = 0; + to.it_value = to.it_interval; timerfd_settime(sna->timer[EXPIRE_TIMER], 0, &to, NULL); sna->timer_active |= 1 << EXPIRE_TIMER;