[PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hi > > around this bugs with proper logging (absent in this patch) much better > > than lockup. > > But your workaround isn't harmless. It adds new failure modes for other > cases that currently work. That's worse, not better. I think that from user scope nothing (including Xorg crash) is wort

[PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hi > Obviously if we have a dead gpu, we need to break out of this loop. But > detecting a dead gpu (and returning an appropriate error like EIO) is the > kernel's job. In my case gpu isn't really dead. It works after some ioctl skip. I understend that it is a driver bug in any case, but i thing t

[PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hello > > It seems, that limiting ioctl restarting by some resonable number of trys > > is a dirty but working way to prevent Xorg lockups. > > And you have audited all callpaths to make sure that they can handle > EINTR? Up until now it was part of the libdrm api that it did not return > EINTR..

Re: [PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hi > > around this bugs with proper logging (absent in this patch) much better > > than lockup. > > But your workaround isn't harmless. It adds new failure modes for other > cases that currently work. That's worse, not better. I think that from user scope nothing (including Xorg crash) is wort

Re: [PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hi > Obviously if we have a dead gpu, we need to break out of this loop. But > detecting a dead gpu (and returning an appropriate error like EIO) is the > kernel's job. In my case gpu isn't really dead. It works after some ioctl skip. I understend that it is a driver bug in any case, but i thing

Re: [PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-16 Thread Anton V. Boyarshinov
Hello > > It seems, that limiting ioctl restarting by some resonable number of trys > > is a dirty but working way to prevent Xorg lockups. > > And you have audited all callpaths to make sure that they can handle > EINTR? Up until now it was part of the libdrm api that it did not return > EINTR..

[PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-13 Thread Anton V. Boyarshinov
tarted) and forever. It seems, that limiting ioctl restarting by some resonable number of trys is a dirty but working way to prevent Xorg lockups. Signed-off-by: Anton V. Boyarshinov --- xf86drm.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/xf86drm.c b/xf86drm.c

[PATCH] xf86drm.c: add counter for ioctl restarting

2012-04-13 Thread Anton V. Boyarshinov
tarted) and forever. It seems, that limiting ioctl restarting by some resonable number of trys is a dirty but working way to prevent Xorg lockups. Signed-off-by: Anton V. Boyarshinov --- xf86drm.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/xf86drm.c b/xf86drm.c