Signal handling in a page fault handler
Chris Wilson
chris at chris-wilson.co.uk
Tue Apr 3 13:20:43 UTC 2018
Quoting Matthew Wilcox (2018-04-03 14:10:25)
> On Tue, Apr 03, 2018 at 01:33:15PM +0100, Chris Wilson wrote:
> > Quoting Matthew Wilcox (2018-04-02 15:10:58)
> > > I don't think the graphics drivers really want to be interrupted by
> > > any signal.
> >
> > Assume the worst case and we may block for 10s. Even a 10ms delay may be
> > unacceptable to some signal handlers (one presumes). For the number one
> > ^C usecase, yes that may be reduced to only bother if it's killable, but
> > I wonder if there are not timing loops (e.g. sigitimer in Xorg < 1.19)
> > that want to be able to interrupt random blockages.
>
> Ah, setitimer / SIGALRM. So what do we want to have happen if that
> signal handler touches the mmaped device memory?
Burn in a great ball of fire :) Isn't that what usually happens if you
do anything in a signal handler?
Hmm, if SIGBUS has a handler does that count as a killable signal? The
ddx does have code to service SIGBUS emitted when accessing the mmapped
pointer that may result from the page insertion failing with no memory
(or other random error). There we stop accessing via the pointer and
use another indirect method.
-Chris
More information about the dri-devel
mailing list