mm/hugetable.c: align some prints
Subsystems (3)
PATCH 1/1 mm/hugetable.c: align some prints
in old code, it shows like:
Node 0 ShmemHugePages: 0 kB Node 0 ShmemPmdMapped: 0 kB Node 0 FileHugePages: 0 kB Node 0 FilePmdMapped: 0 kB Node 0 HugePages_Total: 0 Node 0 HugePages_Free: 0 Node 0 HugePages_Surp: 0
which is not align. So we align it.
--- drivers/base/node.c | 4 ++-- mm/hugetlb.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)
drivers/base/node.c +2 -2
@@ -430,8 +430,8 @@ static ssize_t node_read_meminfo(struct device *dev,"Node %d AnonHugePages: %8lu kB\n" "Node %d ShmemHugePages: %8lu kB\n" "Node %d ShmemPmdMapped: %8lu kB\n" -"Node %d FileHugePages: %8lu kB\n" -"Node %d FilePmdMapped: %8lu kB\n" +"Node %d FileHugePages: %8lu kB\n" +"Node %d FilePmdMapped: %8lu kB\n" #endif , nid, K(node_page_state(pgdat, NR_FILE_DIRTY)),
mm/hugetlb.c +3 -3
@@ -3588,9 +3588,9 @@ int hugetlb_report_node_meminfo(int nid, char *buf)if (!hugepages_supported ())return 0 ;return sprintf (buf, -"Node %d HugePages_Total: %5u\n" -"Node %d HugePages_Free: %5u\n" -"Node %d HugePages_Surp: %5u\n" , +"Node %d HugePages_Total:%8u\n" +"Node %d HugePages_Free: %8u\n" +"Node %d HugePages_Surp: %8u\n" , nid, h->nr_huge_pages_node[nid], nid, h->free_huge_pages_node[nid], nid, h->surplus_huge_pages_node[nid]);
Signature · 1 line
2.25.1
Quoted 9 lines · Hui Su
in old code, it shows like:
Node 0 ShmemHugePages: 0 kB Node 0 ShmemPmdMapped: 0 kB Node 0 FileHugePages: 0 kB Node 0 FilePmdMapped: 0 kB Node 0 HugePages_Total: 0 Node 0 HugePages_Free: 0 Node 0 HugePages_Surp: 0
Quoted 3 lines
which is not align. So we align it.
Signed-off-by Hui Su <[email protected]>
Apologies for the late reply.
I assume you you just want to make the output look better. Correct?
To be honest, I am not sure about the policy for changing the output of sysfs files. My preference would be to not change the output. Why? When the output is changed there is always the possibility that someone may have written code that depends on the current format. It looks like the output has been misaligned since the day the code was first written.
This code was recently changed to use sysfs_emit_at() instead of sprintf(). At that time Greg noted that this also violates the sysfs rule of one value per file. So, it appears there may be a bigger issue than alignment.
Greg,
Is it OK to break up these sysfs files to be one value per file if they contained multiple values from day 1 of their existence? I would prefer not to touch them in case some is depending on current format.
Signature · 1 line
Mike Kravetz
Quoted 38 lines
--- drivers/base/node.c | 4 ++-- mm/hugetlb.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)drivers/base/node.c +2
-2@@ -430,8 +430,8 @@ static ssize_t node_read_meminfo(struct device *dev,"Node %d AnonHugePages: %8lu kB\n" "Node %d ShmemHugePages: %8lu kB\n" "Node %d ShmemPmdMapped: %8lu kB\n" -"Node %d FileHugePages: %8lu kB\n" -"Node %d FilePmdMapped: %8lu kB\n" +"Node %d FileHugePages: %8lu kB\n" +"Node %d FilePmdMapped: %8lu kB\n" #endif , nid, K(node_page_state(pgdat, NR_FILE_DIRTY)),mm/hugetlb.c +3
-3@@ -3588,9 +3588,9 @@ int hugetlb_report_node_meminfo(int nid, char *buf)if (!hugepages_supported ())return 0 ;return sprintf (buf, -"Node %d HugePages_Total: %5u\n" -"Node %d HugePages_Free: %5u\n" -"Node %d HugePages_Surp: %5u\n" , +"Node %d HugePages_Total:%8u\n" +"Node %d HugePages_Free: %8u\n" +"Node %d HugePages_Surp: %8u\n" , nid, h->nr_huge_pages_node[nid], nid, h->free_huge_pages_node[nid], nid, h->surplus_huge_pages_node[nid]);
Greg KH
maintainerQuoted 29 lines · Mike Kravetz
Quoted 9 lines · Hui Su
in old code, it shows like:
Node 0 ShmemHugePages: 0 kB Node 0 ShmemPmdMapped: 0 kB Node 0 FileHugePages: 0 kB Node 0 FilePmdMapped: 0 kB Node 0 HugePages_Total: 0 Node 0 HugePages_Free: 0 Node 0 HugePages_Surp: 0Quoted 3 lines
which is not align. So we align it.
Signed-off-by Hui Su <[email protected]>Apologies for the late reply.
I assume you you just want to make the output look better. Correct?
To be honest, I am not sure about the policy for changing the output of sysfs files. My preference would be to not change the output. Why? When the output is changed there is always the possibility that someone may have written code that depends on the current format. It looks like the output has been misaligned since the day the code was first written.
This code was recently changed to use
sysfs_emit_at()instead ofsprintf(). At that time Greg noted that this also violates the sysfs rule of one value per file. So, it appears there may be a bigger issue than alignment.
Quoted 4 lines
Greg,
Is it OK to break up these sysfs files to be one value per file if they contained multiple values from day 1 of their existence? I would prefer not to touch them in case some is depending on current format.
You should create multiple files, with a different name, and then remove this file. Any tool that uses sysfs should be able to handle a file going away, don't change the format of the data in the file, otherwise there's no way for anyone to know what is happening.
thanks,
greg k-h