From: "Christian König" <christian.koenig@amd.com> To: "Daniel Vetter" <daniel.vetter@ffwll.ch>, "Christian König" <deathsimple@vodafone.de> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>, Thomas Hellstrom <thellstrom@vmware.com>, nouveau <nouveau@lists.freedesktop.org>, LKML <linux-kernel@vger.kernel.org>, dri-devel <dri-devel@lists.freedesktop.org>, Ben Skeggs <bskeggs@redhat.com>, "Deucher, Alexander" <alexander.deucher@amd.com> Subject: Re: [Nouveau] [PATCH 09/17] drm/radeon: use common fence implementation for fences Date: Wed, 23 Jul 2014 10:20:05 +0200 [thread overview] Message-ID: <53CF7035.2060808@amd.com> (raw) In-Reply-To: <CAKMK7uGd65HR11thcv8KjDw-RnTa7W-QGOzFGFd+oO_hp8wyHA@mail.gmail.com> Am 23.07.2014 10:07, schrieb Daniel Vetter: > On Wed, Jul 23, 2014 at 9:58 AM, Christian König > <deathsimple@vodafone.de> wrote: >> Just imagine an application using prime is locking up Radeon and because of >> that gets killed by the user. Nothing else in the system would use the >> Radeon hardware any more and so radeon gets only called by another driver >> waiting patiently for radeon to finish rendering which never happens because >> the whole thing is locked up and we don't get a chance to recover. > But isn't that possible already without fences? X hangs radeon, user > crashes X for unrelated reasons before radeon will notice the hang. > Then no one uses radeon any longer and the hang stays undetected. Yeah, especially with multimedia application. But I don't really care about this problem because the next time an application tries to use the block in question we actually do the reset and everything is fine. In your example we would do the reset when the next X server starts, before that point nobody would care because nobody uses the hardware. An additional problem here is that resets are something perfect normal for radeon. For example UVD can "crash" when you feed it with invalid bitstream data, (ok actually it send an interrupt and stops any processing for the driver to investigate). To continue processing you need to go through a rather complicated reset procedure. Christian. > -Daniel
WARNING: multiple messages have this Message-ID (diff)
From: "Christian König" <christian.koenig@amd.com> To: "Daniel Vetter" <daniel.vetter@ffwll.ch>, "Christian König" <deathsimple@vodafone.de> Cc: Thomas Hellstrom <thellstrom@vmware.com>, nouveau <nouveau@lists.freedesktop.org>, LKML <linux-kernel@vger.kernel.org>, dri-devel <dri-devel@lists.freedesktop.org>, "Deucher, Alexander" <alexander.deucher@amd.com>, Ben Skeggs <bskeggs@redhat.com> Subject: Re: [Nouveau] [PATCH 09/17] drm/radeon: use common fence implementation for fences Date: Wed, 23 Jul 2014 10:20:05 +0200 [thread overview] Message-ID: <53CF7035.2060808@amd.com> (raw) In-Reply-To: <CAKMK7uGd65HR11thcv8KjDw-RnTa7W-QGOzFGFd+oO_hp8wyHA@mail.gmail.com> Am 23.07.2014 10:07, schrieb Daniel Vetter: > On Wed, Jul 23, 2014 at 9:58 AM, Christian König > <deathsimple@vodafone.de> wrote: >> Just imagine an application using prime is locking up Radeon and because of >> that gets killed by the user. Nothing else in the system would use the >> Radeon hardware any more and so radeon gets only called by another driver >> waiting patiently for radeon to finish rendering which never happens because >> the whole thing is locked up and we don't get a chance to recover. > But isn't that possible already without fences? X hangs radeon, user > crashes X for unrelated reasons before radeon will notice the hang. > Then no one uses radeon any longer and the hang stays undetected. Yeah, especially with multimedia application. But I don't really care about this problem because the next time an application tries to use the block in question we actually do the reset and everything is fine. In your example we would do the reset when the next X server starts, before that point nobody would care because nobody uses the hardware. An additional problem here is that resets are something perfect normal for radeon. For example UVD can "crash" when you feed it with invalid bitstream data, (ok actually it send an interrupt and stops any processing for the driver to investigate). To continue processing you need to go through a rather complicated reset procedure. Christian. > -Daniel _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2014-07-23 8:20 UTC|newest] Thread overview: 165+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-07-09 12:29 [PATCH 00/17] Convert TTM to the new fence interface Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 01/17] drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 02/17] drm/ttm: kill off some members to ttm_validate_buffer Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 03/17] drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 04/17] drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 05/17] drm/ttm: call ttm_bo_wait while inside a reservation Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 06/17] drm/ttm: kill fence_lock Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 07/17] drm/nouveau: rework to new fence interface Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 08/17] drm/radeon: add timeout argument to radeon_fence_wait_seq Maarten Lankhorst 2014-07-09 12:29 ` Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 09/17] drm/radeon: use common fence implementation for fences Maarten Lankhorst 2014-07-09 12:57 ` Deucher, Alexander 2014-07-09 12:57 ` Deucher, Alexander 2014-07-09 13:23 ` [PATCH v2 " Maarten Lankhorst 2014-07-09 13:23 ` Maarten Lankhorst 2014-07-10 17:27 ` Alex Deucher 2014-07-10 17:27 ` Alex Deucher 2014-07-22 4:05 ` [PATCH " Dave Airlie 2014-07-22 4:05 ` Dave Airlie 2014-07-22 4:05 ` Dave Airlie 2014-07-22 8:43 ` Christian König 2014-07-22 8:43 ` Christian König 2014-07-22 11:46 ` Daniel Vetter 2014-07-22 11:46 ` Daniel Vetter 2014-07-22 11:52 ` Daniel Vetter 2014-07-22 11:52 ` Daniel Vetter 2014-07-22 11:57 ` Daniel Vetter 2014-07-22 11:57 ` Daniel Vetter 2014-07-22 12:19 ` Christian König 2014-07-22 12:19 ` Christian König 2014-07-22 13:26 ` [Nouveau] " Daniel Vetter 2014-07-22 13:26 ` Daniel Vetter 2014-07-22 13:45 ` Christian König 2014-07-22 13:45 ` Christian König 2014-07-22 14:44 ` [Nouveau] " Maarten Lankhorst 2014-07-22 14:44 ` Maarten Lankhorst 2014-07-22 15:02 ` [Nouveau] " Christian König 2014-07-22 15:18 ` Maarten Lankhorst 2014-07-22 15:17 ` Daniel Vetter 2014-07-22 15:17 ` Daniel Vetter 2014-07-22 15:35 ` [Nouveau] " Christian König 2014-07-22 15:35 ` Christian König 2014-07-22 15:42 ` Daniel Vetter 2014-07-22 15:42 ` Daniel Vetter 2014-07-22 15:59 ` Christian König 2014-07-22 15:59 ` Christian König 2014-07-22 16:21 ` Daniel Vetter 2014-07-22 16:21 ` Daniel Vetter 2014-07-22 16:39 ` Christian König 2014-07-22 16:39 ` Christian König 2014-07-22 16:52 ` Daniel Vetter 2014-07-22 16:52 ` Daniel Vetter 2014-07-22 16:43 ` Daniel Vetter 2014-07-22 16:43 ` Daniel Vetter 2014-07-23 6:40 ` Maarten Lankhorst 2014-07-23 6:40 ` Maarten Lankhorst 2014-07-23 6:52 ` Christian König 2014-07-23 6:52 ` Christian König 2014-07-23 7:02 ` [Nouveau] " Daniel Vetter 2014-07-23 7:02 ` Daniel Vetter 2014-07-23 7:06 ` [Nouveau] " Maarten Lankhorst 2014-07-23 7:06 ` Maarten Lankhorst 2014-07-23 7:09 ` Daniel Vetter 2014-07-23 7:09 ` Daniel Vetter 2014-07-23 7:15 ` Christian König 2014-07-23 7:15 ` Christian König 2014-07-23 7:32 ` [Nouveau] " Maarten Lankhorst 2014-07-23 7:32 ` Maarten Lankhorst 2014-07-23 7:41 ` Christian König 2014-07-23 7:41 ` Christian König 2014-07-23 7:26 ` [Nouveau] " Christian König 2014-07-23 7:26 ` Christian König 2014-07-23 7:31 ` Daniel Vetter 2014-07-23 7:31 ` Daniel Vetter 2014-07-23 7:37 ` Christian König 2014-07-23 7:37 ` Christian König 2014-07-23 7:51 ` [Nouveau] " Maarten Lankhorst 2014-07-23 7:51 ` Maarten Lankhorst 2014-07-23 7:58 ` [Nouveau] " Christian König 2014-07-23 7:58 ` Christian König 2014-07-23 8:07 ` [Nouveau] " Daniel Vetter 2014-07-23 8:07 ` Daniel Vetter 2014-07-23 8:20 ` Christian König [this message] 2014-07-23 8:20 ` [Nouveau] " Christian König 2014-07-23 8:25 ` Maarten Lankhorst 2014-07-23 8:25 ` Maarten Lankhorst 2014-07-23 8:42 ` [Nouveau] " Daniel Vetter 2014-07-23 8:42 ` Daniel Vetter 2014-07-23 8:46 ` Christian König 2014-07-23 8:46 ` Christian König 2014-07-23 8:54 ` [Nouveau] " Daniel Vetter 2014-07-23 8:54 ` Daniel Vetter 2014-07-23 9:27 ` [Nouveau] " Christian König 2014-07-23 9:27 ` Christian König 2014-07-23 9:30 ` [Nouveau] " Daniel Vetter 2014-07-23 9:30 ` Daniel Vetter 2014-07-23 9:36 ` [Nouveau] " Christian König 2014-07-23 9:36 ` Christian König 2014-07-23 9:38 ` [Nouveau] " Maarten Lankhorst 2014-07-23 9:38 ` Maarten Lankhorst 2014-07-23 9:39 ` Christian König 2014-07-23 9:39 ` Christian König 2014-07-23 9:39 ` [Nouveau] " Daniel Vetter 2014-07-23 9:39 ` Daniel Vetter 2014-07-23 9:44 ` Daniel Vetter 2014-07-23 9:44 ` Daniel Vetter 2014-07-23 9:47 ` [Nouveau] " Christian König 2014-07-23 9:47 ` Christian König 2014-07-23 9:52 ` Daniel Vetter 2014-07-23 9:52 ` Daniel Vetter 2014-07-23 9:55 ` [Nouveau] " Maarten Lankhorst 2014-07-23 9:55 ` Maarten Lankhorst 2014-07-23 10:13 ` [Nouveau] " Christian König 2014-07-23 10:13 ` Christian König 2014-07-23 10:52 ` [Nouveau] " Daniel Vetter 2014-07-23 10:52 ` Daniel Vetter 2014-07-23 12:36 ` Christian König 2014-07-23 12:36 ` Christian König 2014-07-23 12:42 ` Daniel Vetter 2014-07-23 12:42 ` Daniel Vetter 2014-07-23 13:16 ` Maarten Lankhorst 2014-07-23 13:16 ` Maarten Lankhorst 2014-07-23 14:05 ` [Nouveau] " Maarten Lankhorst 2014-07-23 14:05 ` Maarten Lankhorst 2014-07-24 13:47 ` [Nouveau] " Christian König 2014-07-24 13:47 ` Christian König 2014-07-23 8:01 ` Daniel Vetter 2014-07-23 8:01 ` Daniel Vetter 2014-07-23 8:31 ` Christian König 2014-07-23 8:31 ` Christian König 2014-07-23 12:35 ` Rob Clark 2014-07-23 12:35 ` Rob Clark 2014-07-22 14:05 ` Maarten Lankhorst 2014-07-22 14:24 ` Christian König 2014-07-22 14:27 ` Maarten Lankhorst 2014-07-22 14:39 ` Christian König 2014-07-22 14:47 ` Maarten Lankhorst 2014-07-22 15:16 ` Christian König 2014-07-22 15:19 ` Daniel Vetter 2014-07-22 15:19 ` Daniel Vetter 2014-07-22 15:42 ` Alex Deucher 2014-07-22 15:42 ` Alex Deucher 2014-07-22 15:48 ` Daniel Vetter 2014-07-22 15:48 ` Daniel Vetter 2014-07-22 19:14 ` Jesse Barnes 2014-07-22 19:14 ` Jesse Barnes 2014-07-23 9:47 ` [Nouveau] " Daniel Vetter 2014-07-23 9:47 ` Daniel Vetter 2014-07-23 15:37 ` [Nouveau] " Jesse Barnes 2014-07-23 15:37 ` Jesse Barnes 2014-07-22 11:51 ` Maarten Lankhorst 2014-07-22 11:51 ` Maarten Lankhorst 2014-07-09 12:29 ` [PATCH 10/17] drm/qxl: rework to new fence interface Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 11/17] drm/vmwgfx: get rid of different types of fence_flags entirely Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 12/17] drm/vmwgfx: rework to new fence interface Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 13/17] drm/ttm: flip the switch, and convert to dma_fence Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 14/17] drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 15/17] drm/radeon: use rcu waits in some ioctls Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 16/17] drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab Maarten Lankhorst 2014-07-09 12:30 ` [PATCH 17/17] drm/ttm: use rcu in core ttm Maarten Lankhorst 2014-07-09 13:09 ` [PATCH 00/17] Convert TTM to the new fence interface Mike Lothian 2014-07-09 13:21 ` Maarten Lankhorst 2014-07-09 13:21 ` Maarten Lankhorst 2014-07-10 21:37 ` Thomas Hellström 2014-07-10 21:37 ` Thomas Hellström
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=53CF7035.2060808@amd.com \ --to=christian.koenig@amd.com \ --cc=alexander.deucher@amd.com \ --cc=bskeggs@redhat.com \ --cc=daniel.vetter@ffwll.ch \ --cc=deathsimple@vodafone.de \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ --cc=maarten.lankhorst@canonical.com \ --cc=nouveau@lists.freedesktop.org \ --cc=thellstrom@vmware.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.