gltestperf times out with an -EBUSY (-16).
It's possible to feed enough rendering commands in a command FIFO for the GPU to be busy more than 3 seconds, which is the default fence wait.
1) Add an issued_jiffies timestamp member to the fence. The fence maximum wait time will be relative to this timestamp, instead of relative to the wait start. This will remove all needs for extra user-space fence time-out checks.
2) If a timeout is hit, we call a device-specific callback "fence_timeout" that checks in one way or another whether the GPU is still alive. In that case, reset issued_jiffies to the current time. If not, Really time out.