Messages in this thread | | | From | Alexandru Juncu <> | Date | Mon, 11 Apr 2016 08:35:00 +0200 | Subject | Re: [PATCH] proc: meminfo: Replace kB with KiB in output |
| |
On 11 April 2016 at 08:12, Michal Hocko <mhocko@kernel.org> wrote: > On Sun 10-04-16 17:23:11, Alexandru Juncu wrote: >> Current values are based on multiples of 1024 (powers of 2) >> which means that the values in meminfo are not kilobytes >> (1000 bytes) but kibibytes (1024 bytes). The correct >> prefix for that would be 'Ki' so the output should be 'KiB'. > > Does the difference actually matters so much that we should change a > user visible format of a file? Some users might not ready to changes > (say sombody did sed 's@.*:[[:space:]]*\([0-9]*\) kB@\1@' to get values. > This change would break it which is something we try to prevent as much > as possible. > > So I do not think this all is worth the potential troubles. There are > probably other places where we present kB while we in fact think kiB.
Isn't it at least worth clearly specifying this in the documentation (maybe also comment in code)?
> >> Signed-off-by: Alexandru Juncu <alexj@linux.com> >> --- >> fs/proc/meminfo.c | 90 +++++++++++++++++++++++++++---------------------------- >> 1 file changed, 45 insertions(+), 45 deletions(-) >> >> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c >> index 8372046..5f0015e 100644 >> --- a/fs/proc/meminfo.c >> +++ b/fs/proc/meminfo.c >> @@ -33,7 +33,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v) >> int lru; >> >> /* >> - * display in kilobytes. >> + * display in kibibytes. >> */ >> #define K(x) ((x) << (PAGE_SHIFT - 10)) >> si_meminfo(&i); >> @@ -54,61 +54,61 @@ static int meminfo_proc_show(struct seq_file *m, void *v) >> * Tagged format, for easy grepping and expansion. >> */ >> seq_printf(m, >> - "MemTotal: %8lu kB\n" >> - "MemFree: %8lu kB\n" >> - "MemAvailable: %8lu kB\n" >> - "Buffers: %8lu kB\n" >> - "Cached: %8lu kB\n" >> - "SwapCached: %8lu kB\n" >> - "Active: %8lu kB\n" >> - "Inactive: %8lu kB\n" >> - "Active(anon): %8lu kB\n" >> - "Inactive(anon): %8lu kB\n" >> - "Active(file): %8lu kB\n" >> - "Inactive(file): %8lu kB\n" >> - "Unevictable: %8lu kB\n" >> - "Mlocked: %8lu kB\n" >> + "MemTotal: %8lu KiB\n" >> + "MemFree: %8lu KiB\n" >> + "MemAvailable: %8lu KiB\n" >> + "Buffers: %8lu KiB\n" >> + "Cached: %8lu KiB\n" >> + "SwapCached: %8lu KiB\n" >> + "Active: %8lu KiB\n" >> + "Inactive: %8lu KiB\n" >> + "Active(anon): %8lu KiB\n" >> + "Inactive(anon): %8lu KiB\n" >> + "Active(file): %8lu KiB\n" >> + "Inactive(file): %8lu KiB\n" >> + "Unevictable: %8lu KiB\n" >> + "Mlocked: %8lu KiB\n" >> #ifdef CONFIG_HIGHMEM >> - "HighTotal: %8lu kB\n" >> - "HighFree: %8lu kB\n" >> - "LowTotal: %8lu kB\n" >> - "LowFree: %8lu kB\n" >> + "HighTotal: %8lu KiB\n" >> + "HighFree: %8lu KiB\n" >> + "LowTotal: %8lu KiB\n" >> + "LowFree: %8lu KiB\n" >> #endif >> #ifndef CONFIG_MMU >> - "MmapCopy: %8lu kB\n" >> + "MmapCopy: %8lu KiB\n" >> #endif >> - "SwapTotal: %8lu kB\n" >> - "SwapFree: %8lu kB\n" >> - "Dirty: %8lu kB\n" >> - "Writeback: %8lu kB\n" >> - "AnonPages: %8lu kB\n" >> - "Mapped: %8lu kB\n" >> - "Shmem: %8lu kB\n" >> - "Slab: %8lu kB\n" >> - "SReclaimable: %8lu kB\n" >> - "SUnreclaim: %8lu kB\n" >> - "KernelStack: %8lu kB\n" >> - "PageTables: %8lu kB\n" >> + "SwapTotal: %8lu KiB\n" >> + "SwapFree: %8lu KiB\n" >> + "Dirty: %8lu KiB\n" >> + "Writeback: %8lu KiB\n" >> + "AnonPages: %8lu KiB\n" >> + "Mapped: %8lu KiB\n" >> + "Shmem: %8lu KiB\n" >> + "Slab: %8lu KiB\n" >> + "SReclaimable: %8lu KiB\n" >> + "SUnreclaim: %8lu KiB\n" >> + "KernelStack: %8lu KiB\n" >> + "PageTables: %8lu KiB\n" >> #ifdef CONFIG_QUICKLIST >> - "Quicklists: %8lu kB\n" >> + "Quicklists: %8lu KiB\n" >> #endif >> - "NFS_Unstable: %8lu kB\n" >> - "Bounce: %8lu kB\n" >> - "WritebackTmp: %8lu kB\n" >> - "CommitLimit: %8lu kB\n" >> - "Committed_AS: %8lu kB\n" >> - "VmallocTotal: %8lu kB\n" >> - "VmallocUsed: %8lu kB\n" >> - "VmallocChunk: %8lu kB\n" >> + "NFS_Unstable: %8lu KiB\n" >> + "Bounce: %8lu KiB\n" >> + "WritebackTmp: %8lu KiB\n" >> + "CommitLimit: %8lu KiB\n" >> + "Committed_AS: %8lu KiB\n" >> + "VmallocTotal: %8lu KiB\n" >> + "VmallocUsed: %8lu KiB\n" >> + "VmallocChunk: %8lu KiB\n" >> #ifdef CONFIG_MEMORY_FAILURE >> - "HardwareCorrupted: %5lu kB\n" >> + "HardwareCorrupted: %5lu KiB\n" >> #endif >> #ifdef CONFIG_TRANSPARENT_HUGEPAGE >> - "AnonHugePages: %8lu kB\n" >> + "AnonHugePages: %8lu KiB\n" >> #endif >> #ifdef CONFIG_CMA >> - "CmaTotal: %8lu kB\n" >> - "CmaFree: %8lu kB\n" >> + "CmaTotal: %8lu KiB\n" >> + "CmaFree: %8lu KiB\n" >> #endif >> , >> K(i.totalram), >> -- >> 2.5.5 >> > > -- > Michal Hocko > SUSE Labs
| |