xf86-video-intel: src/sna/kgem.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Nov 29 09:38:14 PST 2013
src/sna/kgem.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
New commits:
commit 3dae8b97151f1d08942ec690dac5a5008901d7d0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Nov 29 14:46:54 2013 +0000
sna: Dump GTT info if we fail to execute a batch due to ENOSPC
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index f68f5f4..35b76d9 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2872,6 +2872,31 @@ out_16384:
return kgem_create_linear(kgem, size, CREATE_NO_THROTTLE);
}
+#if !NDEBUG
+static void dump_gtt_info(void)
+{
+ int i;
+
+ for (i = 0; i < DRM_MAX_MINOR; i++) {
+ char path[80];
+ FILE *file;
+
+ sprintf(path, "/sys/kernel/debug/dri%d/i915_gem_gtt", i);
+ file = fopen(path, "r");
+ if (file) {
+ size_t len = 0;
+ char *line = NULL;
+
+ while (getline(&line, &len, file) != -1)
+ ErrorF("%s", line);
+ free(line);
+ fclose(file);
+ return;
+ }
+ }
+}
+#endif
+
void _kgem_submit(struct kgem *kgem)
{
struct kgem_request *rq;
@@ -3024,6 +3049,9 @@ void _kgem_submit(struct kgem *kgem)
(long long)aperture.aper_available_size);
}
+ if (ret == ENOSPC)
+ dump_gtt_info();
+
if (DEBUG_SYNC) {
int fd = open("/tmp/batchbuffer", O_WRONLY | O_CREAT | O_APPEND, 0666);
if (fd != -1) {
More information about the xorg-commit
mailing list