[Nouveau] [PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed
Martin Peres
martin.peres at free.fr
Mon Apr 23 10:09:57 PDT 2012
Le 23/04/2012 00:18, Marcin Slusarz a écrit :
> 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) {
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
More information about the Nouveau
mailing list