diff mbox series

[V2] mm/cma_debug: show complete cma name in debugfs directories

Message ID 1660223729-22461-1-git-send-email-quic_charante@quicinc.com (mailing list archive)
State New
Headers show
Series [V2] mm/cma_debug: show complete cma name in debugfs directories | expand

Commit Message

Charan Teja Kalla Aug. 11, 2022, 1:15 p.m. UTC
Currently only 12 characters of the cma name is being used as the debug
directories where as the cma name can be of length CMA_MAX_NAME(=64)
characters. One side problem with this is having 2 cma's with first
common 12 characters would end up in trying to create directories with
same name and fails with -EEXIST thus can limit cma debug functionality.

The 'cma-' prefix is used initially where cma areas don't have any names
and are represented by simple integer values. Since now each cma would
be having its own name, drop 'cma-' prefix for the cma debug directories
as they are clearly evident that they are for cma debug through creating
them in /sys/kernel/debug/cma/ path.

Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
---
V2:
 o Updated the cma_debugfs.rst documentation.
Vl:
 o https://lore.kernel.org/all/1660152485-17684-1-git-send-email-quic_charante@quicinc.com/

 Documentation/admin-guide/mm/cma_debugfs.rst | 10 +++++-----
 mm/cma_debug.c                               |  5 +----
 2 files changed, 6 insertions(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/Documentation/admin-guide/mm/cma_debugfs.rst b/Documentation/admin-guide/mm/cma_debugfs.rst
index 4e06ffa..7367e62 100644
--- a/Documentation/admin-guide/mm/cma_debugfs.rst
+++ b/Documentation/admin-guide/mm/cma_debugfs.rst
@@ -5,10 +5,10 @@  CMA Debugfs Interface
 The CMA debugfs interface is useful to retrieve basic information out of the
 different CMA areas and to test allocation/release in each of the areas.
 
-Each CMA zone represents a directory under <debugfs>/cma/, indexed by the
-kernel's CMA index. So the first CMA zone would be:
+Each CMA area represents a directory under <debugfs>/cma/, represented by
+its CMA name like below:
 
-	<debugfs>/cma/cma-0
+	<debugfs>/cma/<cma_name>
 
 The structure of the files created under that directory is as follows:
 
@@ -18,8 +18,8 @@  The structure of the files created under that directory is as follows:
  - [RO] bitmap: The bitmap of page states in the zone.
  - [WO] alloc: Allocate N pages from that CMA area. For example::
 
-	echo 5 > <debugfs>/cma/cma-2/alloc
+	echo 5 > <debugfs>/cma/<cma_name>/alloc
 
-would try to allocate 5 pages from the cma-2 area.
+would try to allocate 5 pages from the 'cma_name' area.
 
  - [WO] free: Free N pages from that CMA area, similar to the above.
diff --git a/mm/cma_debug.c b/mm/cma_debug.c
index 2e77049..602fff8 100644
--- a/mm/cma_debug.c
+++ b/mm/cma_debug.c
@@ -163,11 +163,8 @@  DEFINE_DEBUGFS_ATTRIBUTE(cma_alloc_fops, NULL, cma_alloc_write, "%llu\n");
 static void cma_debugfs_add_one(struct cma *cma, struct dentry *root_dentry)
 {
 	struct dentry *tmp;
-	char name[16];
 
-	scnprintf(name, sizeof(name), "cma-%s", cma->name);
-
-	tmp = debugfs_create_dir(name, root_dentry);
+	tmp = debugfs_create_dir(cma->name, root_dentry);
 
 	debugfs_create_file("alloc", 0200, tmp, cma, &cma_alloc_fops);
 	debugfs_create_file("free", 0200, tmp, cma, &cma_free_fops);