Dave Airlie wrote:
> From: Dave Airlie <airl...@linux.ie>
>
> This adds code to the drm_mm to talk to debugfs, and adds
> support to radeon to add the VRAM and GTT mm lists to debugfs.
>
> changes since v1:
> don't bother with free list just add used/free to main list
> add totals in pages
>
> Signed-off-by: Dave Airlie <airl...@redhat.com>
> ---
>  drivers/gpu/drm/drm_mm.c            |   25 ++++++++++++++++++++++
>  drivers/gpu/drm/radeon/radeon_ttm.c |   39 
> +++++++++++++++++++++++++++++++++++
>  include/drm/drm_mm.h                |    4 +++
>  3 files changed, 68 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
> index 3e47869..a454e55 100644
> --- a/drivers/gpu/drm/drm_mm.c
> +++ b/drivers/gpu/drm/drm_mm.c
> @@ -44,6 +44,7 @@
>  #include "drmP.h"
>  #include "drm_mm.h"
>  #include <linux/slab.h>
> +#include <linux/seq_file.h>
>  
>  #define MM_UNUSED_TARGET 4
>  
> @@ -370,3 +371,27 @@ void drm_mm_takedown(struct drm_mm * mm)
>       BUG_ON(mm->num_unused != 0);
>  }
>  EXPORT_SYMBOL(drm_mm_takedown);
> +
> +#if defined(CONFIG_DEBUG_FS)
> +int drm_mm_dump_table(struct seq_file *m, void *data)
> +{
> +     struct drm_info_node *node = (struct drm_info_node *)m->private;
> +     struct drm_mm *mm = (struct drm_mm *)node->info_ent->data;
> +     struct drm_mm_node *entry;
> +     int total_used = 0, total_free = 0, total = 0;
> +     spin_lock(&mm->unused_lock);
>   

This is not correct. The mm::unused_lock is there only to protect the 
list of cached drm_mm_node allocations that we
use instead of kmalloc() when atomic.

Instead the lock the user uses to protect the mm:s must be taken. In the 
TTM case IIRC its the bo_glob::lru_lock.

Is it safe to use seq_printf() from within a spinlocked region?

Otherwise looks nice.
/Thomas




------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to