Daniel Vetter and I were discussing about this solution. We figured out that after these patches, tests were passing but when the computer has a heavy background workload, tests fail.
I tried a new solution. Instead of change the vblank_time variable, make the `get_vblank_timestamp` return false when is not happening a vblank_irq.
It worked in the same way of our last attempt.
The reason for this change is that, when the timestamp is not accurate, drm_vblank deals with this correcting timestamp when `get_vblank_timestamp` returns false. However, this requirement is important when real hardware has an error, and could not return the accurate vblank. Now, we need to know if our `vkms_get_vblank_timestamp` should return false and when.
Em qua, 30 de jan de 2019 às 14:05, Shayenne Moura shayenneluzmoura@gmail.com escreveu:
This patchset contains patches to fix the extra frame bug on kms_flip igt-test. First patch solves the extra vblank frame that breaks many tests on kms_flip and second patch solves the race condition caused by the solution added in the first one.
Shayenne Moura (2): drm/vkms: Bugfix extra vblank frame drm/vkms: Bugfix racing hrtimer vblank handle
drivers/gpu/drm/vkms/vkms_crtc.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-)
-- 2.17.1