From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 109102] At dual monitor intel_do_flush_locked failed: Resource
deadlock avoided
Date: Tue, 19 Feb 2019 23:39:44 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0304521841=="
Return-path:
Received: from culpepper.freedesktop.org (culpepper.freedesktop.org
[131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id 90CFD89263
for ; Tue, 19 Feb 2019 23:39:44 +0000 (UTC)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============0304521841==
Content-Type: multipart/alternative; boundary="15506195840.cB7F1d07.7547"
Content-Transfer-Encoding: 7bit
--15506195840.cB7F1d07.7547
Date: Tue, 19 Feb 2019 23:39:44 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
https://bugs.freedesktop.org/show_bug.cgi?id=3D109102
--- Comment #5 from Gert vd Kraats ---
Some more investigation, understanding and adding 2 other possible fixes for
the problem.
The problem occurs at Ubuntu 18.10 only at gdm3 with wayland using dual
monitor.
It is not occuring with wayland at single monitor.
It totally doesnot occur if gdm3 is not using wayland.
At ubuntu 18.04 the same problem exists with wayland, but is not occurring =
so
often.
At ubuntu 18.10 with wayland and dual monitor the user session immediately
aborts, if 16 or more favorites are allocated at the dock.
For some reason wayland seems to use one extra fence register at dual monit=
or.
It is noticed at dual monitor, that gdm3 with wayland uses 2 calls to
clutter_stage_cogl_redraw_view for 2 logical screens for every call to
clutter_stage_cogl_redraw; gdm3 without wayland does only one call to
clutter_stage_cogl_redraw_view for 1 logical screen.
The crash occurs at intel_batchbuffer_flush. Always the last batch at such a
flush is coming from function emit_copy_blit and intelClearWithBlit at
src/mesa/drivers/dri/i915/intel_blit.c. At the call to
dri_bufmgr_check_aperture_space they indicate to use zero fence registers, =
but
in fact they use one. This violates the limit of 14, causing a crash at dual
monitor.
So the call to dri_bufmgr_check_aperture_space must be postponed, until the
needed fence register is added in the middle of the batch-generation and th=
en
the batch-actions must be undone, a flush is called and batch is regenerated
again.
For this function intel_batchbuffer_emit_reset is added.
This also is done for function intel_miptree_set_alpha_to_one, although I n=
ever
saw a call of this function.
See fix error3_patch2.txt.
Another (dirty) solution is to decrement the availablity and just continue.
This gives somewhere a failure, but I could not see a failing layout.
See fix error3_patch3.txt.
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--15506195840.cB7F1d07.7547
Date: Tue, 19 Feb 2019 23:39:44 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
Commen=
t # 5
on bug 10910=
2
from Gert vd Kraats
Some more investigation, understanding and adding 2 other poss=
ible fixes for
the problem.
The problem occurs at Ubuntu 18.10 only at gdm3 with wayland using dual
monitor.
It is not occuring with wayland at single monitor.
It totally doesnot occur if gdm3 is not using wayland.
At ubuntu 18.04 the same problem exists with wayland, but is not occurring =
so
often.
At ubuntu 18.10 with wayland and dual monitor the user session immediately
aborts, if 16 or more favorites are allocated at the dock.
For some reason wayland seems to use one extra fence register at dual monit=
or.
It is noticed at dual monitor, that gdm3 with wayland uses 2 calls to
clutter_stage_cogl_redraw_view for 2 logical screens for every call to
clutter_stage_cogl_redraw; gdm3 without wayland does only one call to
clutter_stage_cogl_redraw_view for 1 logical screen.
The crash occurs at intel_batchbuffer_flush. Always the last batch at such a
flush is coming from function emit_copy_blit and intelClearWithBlit at
src/mesa/drivers/dri/i915/intel_blit.c. At the call to
dri_bufmgr_check_aperture_space they indicate to use zero fence registers, =
but
in fact they use one. This violates the limit of 14, causing a crash at dual
monitor.
So the call to dri_bufmgr_check_aperture_space must be postponed, until the
needed fence register is added in the middle of the batch-generation and th=
en
the batch-actions must be undone, a flush is called and batch is regenerated
again.
For this function intel_batchbuffer_emit_reset is added.
This also is done for function intel_miptree_set_alpha_to_one, although I n=
ever
saw a call of this function.
See fix error3_patch2.txt.
Another (dirty) solution is to decrement the availablity and just continue.
This gives somewhere a failure, but I could not see a failing layout.
See fix error3_patch3.txt.
You are receiving this mail because:
- You are the assignee for the bug.
=
--15506195840.cB7F1d07.7547--
--===============0304521841==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz
dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs
--===============0304521841==--