Commit 3ef7f228 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Bump object bookkeeping to u64 from size_t

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161018120251.25043-1-chris@chris-wilson.co.uk
parent 30d1b5fe
...@@ -392,7 +392,7 @@ static int i915_gem_object_info(struct seq_file *m, void *data) ...@@ -392,7 +392,7 @@ static int i915_gem_object_info(struct seq_file *m, void *data)
if (ret) if (ret)
return 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_count,
dev_priv->mm.object_memory); dev_priv->mm.object_memory);
......
...@@ -1389,7 +1389,7 @@ struct i915_gem_mm { ...@@ -1389,7 +1389,7 @@ struct i915_gem_mm {
/* accounting, useful for userland debugging */ /* accounting, useful for userland debugging */
spinlock_t object_stat_lock; spinlock_t object_stat_lock;
size_t object_memory; u64 object_memory;
u32 object_count; u32 object_count;
}; };
......
...@@ -82,7 +82,7 @@ remove_mappable_node(struct drm_mm_node *node) ...@@ -82,7 +82,7 @@ remove_mappable_node(struct drm_mm_node *node)
/* some bookkeeping */ /* some bookkeeping */
static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv, 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); spin_lock(&dev_priv->mm.object_stat_lock);
dev_priv->mm.object_count++; dev_priv->mm.object_count++;
...@@ -91,7 +91,7 @@ static void i915_gem_info_add_obj(struct drm_i915_private *dev_priv, ...@@ -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, 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); spin_lock(&dev_priv->mm.object_stat_lock);
dev_priv->mm.object_count--; dev_priv->mm.object_count--;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment