drm/i915: Bump object bookkeeping to u64 from size_t
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Oct 2016 12:02:48 +0000 (13:02 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Oct 2016 13:22:26 +0000 (14:22 +0100)
Internally we allow for using more objects than a single process can
allocate, i.e. we allow for a 64bit GPU address space even on a 32bit
system. Using size_t may oveerflow.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161018120251.25043-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c

index 515c206ba6534e3930de77afd491837ac53e93d3..dc057c770146931a173ef86709eaec70cd3993d3 100644 (file)
@@ -392,7 +392,7 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
        if (ret)
                return ret;
 
-       seq_printf(m, "%u objects, %zu bytes\n",
+       seq_printf(m, "%u objects, %llu bytes\n",
                   dev_priv->mm.object_count,
                   dev_priv->mm.object_memory);
 
index 8a1020f6c9cc863eb8a9c3c6f138bf8ba73a61a1..cabcd06c84bd947f1d66433aeb558975bf93a19b 100644 (file)
@@ -1389,7 +1389,7 @@ struct i915_gem_mm {
 
        /* accounting, useful for userland debugging */
        spinlock_t object_stat_lock;
-       size_t object_memory;
+       u64 object_memory;
        u32 object_count;
 };
 
index fe92e28ea0a83d0bec8e2bfd7af2494c0930037f..838dc159a2d162e3ca758712d936fd85f3e9a945 100644 (file)
@@ -82,7 +82,7 @@ remove_mappable_node(struct drm_mm_node *node)
 
 /* some bookkeeping */
 static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv,
-                                 size_t size)
+                                 u64 size)
 {
        spin_lock(&dev_priv->mm.object_stat_lock);
        dev_priv->mm.object_count++;
@@ -91,7 +91,7 @@ static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv,
 }
 
 static void i915_gem_info_remove_obj(struct drm_i915_private *dev_priv,
-                                    size_t size)
+                                    u64 size)
 {
        spin_lock(&dev_priv->mm.object_stat_lock);
        dev_priv->mm.object_count--;