[Intel-gfx] [RFC PATCH 157/162] drm/i915: Improve accuracy of eviction stats

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Nov 30 10:36:45 UTC 2020


On 27/11/2020 14:40, Chris Wilson wrote:
> Quoting Matthew Auld (2020-11-27 12:07:13)
>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>
>> Current code uses jiffie time to do the accounting and then does:
>>
>>    diff = jiffies - start;
>>    msec = diff * 1000 / HZ;
>>    ...
>>    atomic_long_add(msec, &i915->time_swap_out_ms);
>>
>> If we assume jiffie can be as non-granular as 10ms and that the current
>> accounting records all evictions faster than one jiffie as infinite speed,
>> we can end up over-estimating the reported eviction throughput.
>>
>> Fix this by accumulating ktime_t and only dividing to more user friendly
>> granularity at presentation time (debugfs read).
>>
>> At the same time consolidate the code a bit and convert from multiple
>> atomics to single seqlock per stat.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Cc: CQ Tang <cq.tang at intel.com>
>> Cc: Sudeep Dutt <sudeep.dutt at intel.com>
>> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> 
> A lot of effort to fix up patches after the fact, might as well make it
> a real PMU interface.

It did cross my mind and should be easy to add on top if deemed useful 
or interesting.

More importantly, it is okay with me to incorporate this patch into the 
earlier one(s) which first added statistics.

Regards,

Tvrtko


More information about the dri-devel mailing list