[igt-dev] [PATCH i-g-t] PSR: Bump wait for active timeout to 2.5s
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Wed Dec 12 14:37:59 UTC 2018
Op 11-12-2018 om 22:27 schreef Dhinakaran Pandiyan:
> On Tue, 2018-12-11 at 17:16 +0100, Maarten Lankhorst wrote:
>> Typically PSR enables in around 136 ms, but when enabling 2
>> screens, 500 ms is not enough on icelake sometimes, so bump
>> it a bit higher.
>>
>> On kms_frontbuffer_tracking:
>> Starting subtest: psr-2p-scndscrn-shrfb-plflip-blt
>> psr_active(debugfs_fd, true) took 136ms
>> psr_active(debugfs_fd, true) took 136ms
>> psr_active(debugfs_fd, true) took 350ms
>> psr_active(debugfs_fd, true) took 136ms
>> psr_active(debugfs_fd, true) took 1598ms
> We have to find out why it took that long, ~96 frames exceeds the idle
> frame limit we set in the driver. I'm concerned we might be covering up
> a bug by increasing the limit so high.
After some debugging, it seems retiring the gem workqueue causes the delay..
[ 90.244237] Activating PSR from 2
[ 90.244378] WARNING: CPU: 3 PID: 181 at drivers/gpu/drm/i915/intel_psr.c:1143 intel_psr_flush+0xe3/0x100 [i915]
...
[ 90.244672] Call Trace:
[ 90.244776] intel_frontbuffer_flush+0x6a/0x80 [i915]
[ 90.244893] i915_request_retire+0x189/0x930 [i915]
[ 90.245019] i915_retire_requests+0xa5/0x130 [i915]
[ 90.245134] i915_gem_retire_work_handler+0x59/0x70 [i915]
[ 90.245152] process_one_work+0x262/0x630
[ 90.245181] worker_thread+0x37/0x380
[ 90.245199] ? process_one_work+0x630/0x630
[ 90.245209] kthread+0x119/0x130
[ 90.245220] ? kthread_park+0x80/0x80
[ 90.245238] ret_from_fork+0x3a/0x50
[ 90.245278] irq event stamp: 30662
[ 90.245290] hardirqs last enabled at (30661): [<ffffffff810fb0a9>] console_unlock+0x3f9/0x5f0
[ 90.245300] hardirqs last disabled at (30662): [<ffffffff810019b0>] trace_hardirqs_off_thunk+0x1a/0x1c
[ 90.245310] softirqs last enabled at (30644): [<ffffffff81c0033a>] __do_softirq+0x33a/0x4b9
[ 90.245322] softirqs last disabled at (30631): [<ffffffff8108e6a9>] irq_exit+0xa9/0xc0
..
[ 90.246941] [drm:intel_psr_work [i915]] Activating PSR1
[ 90.335272] [drm:intel_psr_irq_handler [i915]] [transcoder EDP] PSR entry attempt in 2 vblanks
Which seems to come from i915_gem_unpark() ?
~Maarten
More information about the igt-dev
mailing list