drm/vmwgfx: Reduce the size of buffer object relocations
authorThomas Hellstrom <thellstrom@vmware.com>
Wed, 26 Sep 2018 13:38:13 +0000 (15:38 +0200)
committerThomas Hellstrom <thellstrom@vmware.com>
Thu, 27 Sep 2018 13:21:36 +0000 (15:21 +0200)
With the new allocator this leads to less consumed memory for each
user-space command submission

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c

index da341cc..641b751 100644 (file)
  * struct vmw_relocation - Buffer object relocation
  *
  * @head: List head for the command submission context's relocation list
+ * @vbo: Non ref-counted pointer to buffer object
  * @mob_loc: Pointer to location for mob id to be modified
  * @location: Pointer to location for guest pointer to be modified
- * @vbo: Non ref-counted pointer to buffer object
  */
 struct vmw_relocation {
        struct list_head head;
-       SVGAMobId *mob_loc;
-       SVGAGuestPtr *location;
        struct vmw_buffer_object *vbo;
+       union {
+               SVGAMobId *mob_loc;
+               SVGAGuestPtr *location;
+       };
 };
 
 /**
@@ -1167,7 +1169,6 @@ static int vmw_translate_mob_ptr(struct vmw_private *dev_priv,
                goto out_no_reloc;
 
        reloc->mob_loc = id;
-       reloc->location = NULL;
        reloc->vbo = vmw_bo;
 
        ret = vmw_validation_add_bo(sw_context->ctx, vmw_bo, true, false);