2022-08-10 18:49:55

by Charan Teja Kalla

[permalink] [raw]
Subject: [PATCH] mm/cma_debug: show complete cma name in debugfs directories

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.

Also 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 <[email protected]>
---
mm/cma_debug.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

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);
--
2.7.4


2022-08-10 21:51:32

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] mm/cma_debug: show complete cma name in debugfs directories

On Wed, 10 Aug 2022 22:58:05 +0530 Charan Teja Kalla <[email protected]> wrote:

> 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.

I guess so. There might be back-compatibility issues, but it's
debugfs...


> Also 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.

I guess so. But please run `grep -r cma- Documentation'

2022-08-11 07:04:04

by Charan Teja Kalla

[permalink] [raw]
Subject: Re: [PATCH] mm/cma_debug: show complete cma name in debugfs directories

Thanks Andrew!!

On 8/11/2022 3:01 AM, Andrew Morton wrote:
> On Wed, 10 Aug 2022 22:58:05 +0530 Charan Teja Kalla <[email protected]> wrote:
>
>> 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.
>
> I guess so. There might be back-compatibility issues, but it's
> debugfs...
>
>
>> Also 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.
>
> I guess so. But please run `grep -r cma- Documentation'

I see the Documentation/admin-guide/mm/cma_debugfs.rst is not upto date.
Commit f318dd083c81 ("cma: Store a name in the cma structure") moved the
cma names from int to strings but no update to this document.

Will fix the Documentation part in V2.

>