From: Sudeep Dutt <sudeep.d...@intel.com>

cat /sys/kernel/debug/dri/0/i915_gem_objects
num_bytes_swapped_out 94170000 num_bytes_swapped_in 56120000

Signed-off-by: Sudeep Dutt <sudeep.d...@intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_region.c | 6 ++++++
 drivers/gpu/drm/i915/i915_debugfs.c        | 3 +++
 drivers/gpu/drm/i915/i915_drv.h            | 3 +++
 3 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_region.c 
b/drivers/gpu/drm/i915/gem/i915_gem_region.c
index e1793c5f8d8c..ed108dbcb34e 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_region.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_region.c
@@ -64,6 +64,9 @@ i915_gem_object_swapout_pages(struct drm_i915_gem_object *obj,
        else
                i915_gem_object_put(dst);
 
+       if (!err)
+               atomic_long_add(sizes, &i915->num_bytes_swapped_out);
+
        return err;
 }
 
@@ -118,6 +121,9 @@ i915_gem_object_swapin_pages(struct drm_i915_gem_object 
*obj,
                i915_gem_object_put(src);
        }
 
+       if (!err)
+               atomic_long_add(sizes, &i915->num_bytes_swapped_in);
+
        return err;
 }
 
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 6d1482c82694..1b7e9b6ab660 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -372,6 +372,9 @@ static int i915_gem_object_info(struct seq_file *m, void 
*data)
        for_each_memory_region(mr, i915, id)
                seq_printf(m, "%s: total:%pa, available:%pa bytes\n",
                           mr->name, &mr->total, &mr->avail);
+       seq_printf(m, "num_bytes_swapped_out %ld num_bytes_swapped_in %ld\n",
+                  atomic_long_read(&i915->num_bytes_swapped_out),
+                  atomic_long_read(&i915->num_bytes_swapped_in));
        seq_putc(m, '\n');
 
        print_context_stats(m, i915);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 1366b53ac8c9..7b1e95d494e6 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1214,6 +1214,9 @@ struct drm_i915_private {
         * NOTE: This is the dri1/ums dungeon, don't add stuff here. Your patch
         * will be rejected. Instead look for a better place.
         */
+
+       atomic_long_t num_bytes_swapped_out;
+       atomic_long_t num_bytes_swapped_in;
 };
 
 static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to