lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 26 Oct 2020 17:23:43 -0700
From:   Mike Kravetz <mike.kravetz@...cle.com>
To:     Hui Su <sh_def@....com>, gregkh@...uxfoundation.org,
        rafael@...nel.org, akpm@...ux-foundation.org,
        linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH] mm/hugetable.c: align some prints

On 10/9/20 9:23 AM, Hui Su wrote:
> 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.
> 
> Signed-off-by: Hui Su <sh_def@....com>

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.

-- 
Mike Kravetz

> ---
>  drivers/base/node.c | 4 ++--
>  mm/hugetlb.c        | 6 +++---
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/base/node.c b/drivers/base/node.c
> index 50af16e68d98..b5453c372c5b 100644
> --- a/drivers/base/node.c
> +++ b/drivers/base/node.c
> @@ -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)),
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 67fc6383995b..077860ea2452 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -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]);
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ