OSDN Git Service

dma-debug: Expose nr_total_entries in debugfs
authorRobin Murphy <robin.murphy@arm.com>
Mon, 10 Dec 2018 14:00:28 +0000 (14:00 +0000)
committerChristoph Hellwig <hch@lst.de>
Tue, 11 Dec 2018 13:31:17 +0000 (14:31 +0100)
Expose nr_total_entries in debugfs, so that {num,min}_free_entries
become even more meaningful to users interested in current/maximum
utilisation. This becomes even more relevant once nr_total_entries
may change at runtime beyond just the existing AMD GART debug code.

Suggested-by: John Garry <john.garry@huawei.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Tested-by: Qian Cai <cai@lca.pw>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Documentation/DMA-API.txt
kernel/dma/debug.c

index ac66ae2..6bdb095 100644 (file)
@@ -723,6 +723,9 @@ dma-api/min_free_entries    This read-only file can be read to get the
 dma-api/num_free_entries       The current number of free dma_debug_entries
                                in the allocator.
 
+dma-api/nr_total_entries       The total number of dma_debug_entries in the
+                               allocator, both free and used.
+
 dma-api/driver-filter          You can write a name of a driver into this file
                                to limit the debug output to requests from that
                                particular driver. Write an empty string to
index 231ca46..f6a141e 100644 (file)
@@ -142,6 +142,7 @@ static struct dentry *show_all_errors_dent  __read_mostly;
 static struct dentry *show_num_errors_dent  __read_mostly;
 static struct dentry *num_free_entries_dent __read_mostly;
 static struct dentry *min_free_entries_dent __read_mostly;
+static struct dentry *nr_total_entries_dent __read_mostly;
 static struct dentry *filter_dent           __read_mostly;
 
 /* per-driver filter related state */
@@ -926,6 +927,12 @@ static int dma_debug_fs_init(void)
        if (!min_free_entries_dent)
                goto out_err;
 
+       nr_total_entries_dent = debugfs_create_u32("nr_total_entries", 0444,
+                       dma_debug_dent,
+                       &nr_total_entries);
+       if (!nr_total_entries_dent)
+               goto out_err;
+
        filter_dent = debugfs_create_file("driver_filter", 0644,
                                          dma_debug_dent, NULL, &filter_fops);
        if (!filter_dent)