- cfs_duration_t age;
-
- age = ldlm_last_reclaim_age +
- cfs_time_sub(cfs_time_current(), ldlm_last_reclaim_time);
- if (age > LDLM_RECLAIM_AGE_MAX)
- age = LDLM_RECLAIM_AGE_MAX;
- else if (age < (LDLM_RECLAIM_AGE_MIN * 2))
- age = LDLM_RECLAIM_AGE_MIN;
- return age;
+ s64 age_ns = ldlm_last_reclaim_age_ns;
+ ktime_t now = ktime_get();
+ ktime_t diff;
+
+ diff = ktime_sub(now, ldlm_last_reclaim_time);
+ age_ns += ktime_to_ns(diff);
+ if (age_ns > LDLM_RECLAIM_AGE_MAX)
+ age_ns = LDLM_RECLAIM_AGE_MAX;
+ else if (age_ns < (LDLM_RECLAIM_AGE_MIN * 2))
+ age_ns = LDLM_RECLAIM_AGE_MIN;
+ return age_ns;