Marcin Slusarz
2012-Apr-25  21:20 UTC
[Nouveau] [PATCH v2 3/4] drm/nv50: let applications hanging on vm flush to be killed
Signed-off-by: Marcin Slusarz <marcin.slusarz at 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 >
2000000000));
 
 	if (timeout) {
-- 
1.7.8.5
Marcin Slusarz
2012-May-27  19:40 UTC
[Nouveau] [PATCH v2 3/4] drm/nv50: let applications hanging on vm flush to be killed
From: Marcin Slusarz <marcin.slusarz at gmail.com>
Subject: [PATCH v3] drm/nv50: let applications hanging on vm flush to be killed
Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com>
---
v3: rebased on top of current nouveau-git
---
 drivers/gpu/drm/nouveau/nv50_graph.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c
b/drivers/gpu/drm/nouveau/nv50_graph.c
index 78365fe..ef6757f 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -242,6 +242,10 @@ nv84_graph_tlb_flush(struct nouveau_device *ndev, int
engine)
 			if ((tmp & 7) == 1)
 				idle = false;
 		}
+		if (fatal_signal_pending(current)) {
+			ret = -ERESTARTSYS;
+			break;
+		}
 	} while (!idle &&
 		 !(timeout = ptimer->read(ptimer) - start > 2000000000));
 
-- 
1.7.8.6