Re: [PATCH 14/14] x86/efi: Print size in binary units in efi_print_memmap

From: Ingo Molnar
Date: Tue Feb 09 2016 - 07:20:34 EST



* Elliott, Robert (Persistent Memory) <elliott@xxxxxxx> wrote:

>
> > -----Original Message-----
> > From: Matt Fleming [mailto:matt@xxxxxxxxxxxxxxxxxxx]
> > Sent: Wednesday, February 3, 2016 5:28 AM
> > To: Ingo Molnar <mingo@xxxxxxxxxx>
> > Cc: Laszlo Ersek <lersek@xxxxxxxxxx>; H . Peter Anvin <hpa@xxxxxxxxx>;
> > Thomas Gleixner <tglx@xxxxxxxxxxxxx>; linux-efi@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; Elliott, Robert (Persistent Memory)
> > <elliott@xxxxxxx>; Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>;
> > Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>; Taku Izumi
> > <izumi.taku@xxxxxxxxxxxxxx>; Linus Torvalds <torvalds@linux-
> > foundation.org>; Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Subject: Re: [PATCH 14/14] x86/efi: Print size in binary units in
> > efi_print_memmap
> ...
> > OK, this patch has caused enough headaches. Let's drop it from this
> > series.
> >
> > Robert, Andy, feel free to resubmit it after you've addressed
> > everyone's concerns and we can discuss it in isolation.
>
> We could just delete the size print altogether - better to print
> nothing than a silently rounded number. The end address already
> communicates the size - it's just not as readable.
>
> The e820 table prints don't bother with a size print.
>
> That would also shorten these extremely wide prints to 116
> characters (131 if printk time is enabled).
>
> [ 0.000000] BIOS-e820: [mem 0x0000001880000000-0x000000207fffffff] reserved
> vs.
> [ 0.000000] efi: mem62: [Reserved | | |NV| | | | | |WB|WT|WC|UC] range=[0x0000001880000000-0x000000207fffffff] (32 GiB)

So I find the latter a lot more readable - my terminals are wide enough ;-)

Humans are also rather bad at parsing 64-bit hexa address ranges at a glance, so
the size display is very useful.

But the flags portion should be shortened via appropriately chosen
single-character abbreviations for the flags. Anyone deeply intimate with the code
will recognize the flags - others won't care one way or another.

plus there's no need to write out 'range='.

... and please keep the size and just use GB/TB for chrissake.

I.e. something like this would work for me:

> [ 0.000000] efi: mem62: 0x0000001880000000-0x000000207fffffff ( 32 GB) .N....BTCU "Reserved"

Thanks,

Ingo