Bug 106885 - [CI][SHARDS] igt@kms_plane@pixel-format-pipe-[abc]-planes - dmesg-warn - *ERROR* Overflow of CRC buffer, userspace reads too slow.
Summary: [CI][SHARDS] igt@kms_plane@pixel-format-pipe-[abc]-planes - dmesg-warn - *ERR...
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: high normal
Assignee: Maarten Lankhorst
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-11 13:06 UTC by Martin Peres
Modified: 2018-12-17 17:27 UTC (History)
3 users (show)

See Also:
i915 platform: BSW/CHT, CNL, GLK, ICL, KBL, SKL
i915 features: display/Other


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 3 Martin Peres 2018-09-21 14:38:11 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_115/fi-skl-caroline/igt@kms_plane@pixel-format-pipe-b-planes.html

<3> [306.918597] [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow.
Comment 4 Jani Saarinen 2018-11-07 12:20:46 UTC
Not seen on ICL lately?
Comment 5 Martin Peres 2018-11-07 13:00:42 UTC
(In reply to Jani Saarinen from comment #4)
> Not seen on ICL lately?

Last seen in https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_117/fi-icl-u/igt@kms_plane@pixel-format-pipe-a-planes.html, after being seen every single drmtip run after drmtip_95 (introduction of ICL).

I guess this is sufficient to say that ICL is fixed.
Comment 6 Mika Kahola 2018-11-30 09:35:01 UTC
If this error is not seen regularly, maybe we could pump up a bit the size of a ringbuffer. Now, we have DRM_CRC_ENTRIES_NR defined as 128, so maybe we could increase it to 256?
Comment 7 Martin Peres 2018-11-30 13:13:02 UTC
(In reply to Mika Kahola from comment #6)
> If this error is not seen regularly, maybe we could pump up a bit the size
> of a ringbuffer. Now, we have DRM_CRC_ENTRIES_NR defined as 128, so maybe we
> could increase it to 256?

Are the CRCs per pipe or global? If it is per-pipe, then 128 CRCs @ 60 Hz is more than 2 seconds of not reading the crc... I would think that this ought to be sufficient and if it is not, we really need to look into why we have such latency in the userspace, don't you think? :o
Comment 9 Juha-Pekka Heikkilä 2018-12-13 11:50:23 UTC
(In reply to Martin Peres from comment #7)
> (In reply to Mika Kahola from comment #6)
> > If this error is not seen regularly, maybe we could pump up a bit the size
> > of a ringbuffer. Now, we have DRM_CRC_ENTRIES_NR defined as 128, so maybe we
> > could increase it to 256?
> 
> Are the CRCs per pipe or global? If it is per-pipe, then 128 CRCs @ 60 Hz is
> more than 2 seconds of not reading the crc... I would think that this ought
> to be sufficient and if it is not, we really need to look into why we have
> such latency in the userspace, don't you think? :o

The latency would be from the combination of things; IGT by default is compiled with no optimizations switched on, used framebuffer sizes are quite big (3840x2160 for example), and because lack of YUV support in cairo there's in IGT conversions back'n'forth RGB<->YUV..all this combined probably can build up to 2s wait.

One could try putting some "#pragma GCC optimize ("O3")" around those conversion functions "static void convert_XXX_to_XXX(struct fb_convert *cvt)" found in igt_fb.c, though I think this is just painting over the problem.

Other solution would be starting/stopping crc when crc is really needed but it would slow down tests in kms_plane even more.
Comment 10 Martin Peres 2018-12-17 17:27:16 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_5313/shard-iclb7/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html

Starting subtest: pixel-format-pipe-A-planes-source-clamping
(kms_plane:8972) igt_debugfs-CRITICAL: Test assertion failure function igt_assert_crc_equal, file ../lib/igt_debugfs.c:419:
(kms_plane:8972) igt_debugfs-CRITICAL: Failed assertion: !mismatch
Subtest pixel-format-pipe-A-planes-source-clamping failed.

<3> [1494.718728] [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow.
<3> [1519.117242] [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow.
<3> [1542.905928] [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.