test/gem_storedw_*: tune some more
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 6 Sep 2011 19:16:21 +0000 (21:16 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 9 Sep 2011 15:24:16 +0000 (17:24 +0200)
MI_*/PIPE_CONTROL writes need to be in DOMAIN_INSTRUCTION, because
that is what mesa uses and I plan to use this to work around a
gen6 ppgtt issue.

Also testing with intentionally b0rked GFX_MODE on my snb shows that
we need to increase the loop counter a bit to reliably hit the tlb
invalidation problem. Test still completes within a few seconds.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/gem_storedw_batches_loop.c
tests/gem_storedw_loop.c

index f5907c0..456c56a 100644 (file)
@@ -55,7 +55,7 @@ store_dword_loop(void)
 
        cmd = MI_STORE_DWORD_IMM | MI_MEM_VIRTUAL;
 
-       for (i = 0; i < 0x10000; i++) {
+       for (i = 0; i < 0x80000; i++) {
                cmd_bo = drm_intel_bo_alloc(bufmgr, "cmd bo", 4096, 4096);
                if (!cmd_bo) {
                        fprintf(stderr, "failed to alloc cmd bo\n");
@@ -77,8 +77,8 @@ store_dword_loop(void)
                }
 
                ret = drm_intel_bo_emit_reloc(cmd_bo, 8, target_bo, 0,
-                                             I915_GEM_DOMAIN_RENDER,
-                                             I915_GEM_DOMAIN_RENDER);
+                                             I915_GEM_DOMAIN_INSTRUCTION,
+                                             I915_GEM_DOMAIN_INSTRUCTION);
                if (ret) {
                        fprintf(stderr, "failed to emit reloc\n");
                        exit(-1);
index c275c52..0c446ab 100644 (file)
@@ -58,8 +58,8 @@ store_dword_loop(void)
                BEGIN_BATCH(4);
                OUT_BATCH(cmd);
                OUT_BATCH(0); /* reserved */
-               OUT_RELOC(target_buffer, I915_GEM_DOMAIN_RENDER,
-                         I915_GEM_DOMAIN_RENDER, 0);
+               OUT_RELOC(target_buffer, I915_GEM_DOMAIN_INSTRUCTION,
+                         I915_GEM_DOMAIN_INSTRUCTION, 0);
                OUT_BATCH(val);
                ADVANCE_BATCH();