summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Murphy2018-12-10 15:00:28 +0100
committerChristoph Hellwig2018-12-11 14:31:17 +0100
commit9f191555ba4ba8fc82e589670e46a7f79b72a157 (patch)
treebcebdb4a6936baa0b76afc0fcb2af283a8f9c889
parentarch: switch the default on ARCH_HAS_SG_CHAIN (diff)
downloadkernel-qcow2-linux-9f191555ba4ba8fc82e589670e46a7f79b72a157.tar.gz
kernel-qcow2-linux-9f191555ba4ba8fc82e589670e46a7f79b72a157.tar.xz
kernel-qcow2-linux-9f191555ba4ba8fc82e589670e46a7f79b72a157.zip
dma-debug: Expose nr_total_entries in debugfs
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>
-rw-r--r--Documentation/DMA-API.txt3
-rw-r--r--kernel/dma/debug.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt
index ac66ae2509a9..6bdb095393b0 100644
--- a/Documentation/DMA-API.txt
+++ b/Documentation/DMA-API.txt
@@ -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
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
index 231ca4628062..f6a141eb9438 100644
--- a/kernel/dma/debug.c
+++ b/kernel/dma/debug.c
@@ -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)