lkml.org 
[lkml]   [2016]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [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

    \
     
     \ /
      Last update: 2016-04-11 08:41    [W:4.730 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site