Re: [Nouveau] [PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed
Le 23/04/2012 00:18, Marcin Slusarz a écrit : Signed-off-by: Marcin Slusarzmarcin.slus...@gmail.com --- drivers/gpu/drm/nouveau/nv50_graph.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c index 6899547..a61853f 100644 --- a/drivers/gpu/drm/nouveau/nv50_graph.c +++ b/drivers/gpu/drm/nouveau/nv50_graph.c @@ -435,6 +435,11 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine) if ((tmp 7) == 1) idle = false; } + + if (fatal_signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } } while (!idle !(timeout = ptimer-read(dev) - start 20)); if (timeout) { Good, but who should send the kill signal in the first place? Shouldn't nouveau drm terminate the process(es) associated with the channel that generated the lockup ? Can you provide more info on how the lockup recovery works? Thanks in advance, Martin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] [PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed
On Mon, Apr 23, 2012 at 07:09:57PM +0200, Martin Peres wrote: Le 23/04/2012 00:18, Marcin Slusarz a écrit : Signed-off-by: Marcin Slusarzmarcin.slus...@gmail.com --- drivers/gpu/drm/nouveau/nv50_graph.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c index 6899547..a61853f 100644 --- a/drivers/gpu/drm/nouveau/nv50_graph.c +++ b/drivers/gpu/drm/nouveau/nv50_graph.c @@ -435,6 +435,11 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine) if ((tmp 7) == 1) idle = false; } + + if (fatal_signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } } while (!idle !(timeout = ptimer-read(dev) - start 20)); if (timeout) { Good, but who should send the kill signal in the first place? Shouldn't nouveau drm terminate the process(es) associated with the channel that generated the lockup ? Well, this patch is not necessary for gpu reset - it's just let's be nice change. Currently application is unkillable when hanging on vm flush Marcin ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] [PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed
Signed-off-by: Marcin Slusarz marcin.slus...@gmail.com --- drivers/gpu/drm/nouveau/nv50_graph.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c index 6899547..a61853f 100644 --- a/drivers/gpu/drm/nouveau/nv50_graph.c +++ b/drivers/gpu/drm/nouveau/nv50_graph.c @@ -435,6 +435,11 @@ nv84_graph_tlb_flush(struct drm_device *dev, int engine) if ((tmp 7) == 1) idle = false; } + + if (fatal_signal_pending(current)) { + ret = -ERESTARTSYS; + break; + } } while (!idle !(timeout = ptimer-read(dev) - start 20)); if (timeout) { -- 1.7.8.5 ___ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau