[Nouveau] [PATCH 4/5] drm/nv50: let applications hanging on vm flush to be killed

Marcin Slusarz marcin.slusarz at gmail.com
Mon Apr 23 10:30:46 PDT 2012


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 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 ?

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


More information about the Nouveau mailing list