On Fri, Aug 23, 2013 at 3:05 AM, Chris Wilson <ch...@chris-wilson.co.uk> wrote: > Rather than continue to fix up the timeouts to work around the interface > impedence in wait_event_*(), open code the combination of > wait_event[_interruptible][_timeout]. And note the code size reduction, > and dare say readability?, in doing so.. > > v2: In order to satisfy the debug requirement of logging missed > interrupts with the real world requirments of making machines work even > if interrupts are hosed, we revert to polling after detecting a missed > interrupt. > > Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Yeah, I think this approach should work. A few comments: - I think we need a debugfs file to shut the safety quirk off - when testing on a machine where we actually miss interrupts it might be usful to get the warning output every time. - I'd go for a new bool dev_priv->unreliable_seqno_signalling or so to avoid any races due to the rmw cycle you now do on dev_priv->quirks. - I'd have opted for a faster timeout of the fake irq, but one that rearms. Also I'd love to be able to test all this (both the missed irq detection stuff and the fake irq) but I don't have a good idea right now ... So I guess we need to again hope that it won't break too quickly (since it eventually will break again). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx