--- Robert Elliott, HPE Persistent Memory > -----Original Message----- > From: Andy Shevchenko [mailto:andy.shevchenko@xxxxxxxxx] > Sent: Monday, January 25, 2016 2:01 PM > To: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Cc: Elliott, Robert (Persistent Memory) <elliott@xxxxxxx>; Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx>; Matt Fleming > <matt@xxxxxxxxxxxxxxxxxxx>; Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Ingo > Molnar <mingo@xxxxxxxxxx>; H . Peter Anvin <hpa@xxxxxxxxx>; linux- > efi@xxxxxxxxxxxxxxx; Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>; Andrew > Morton <akpm@xxxxxxxxxxxxxxxxxxxx>; linux-kernel @ vger . kernel . org > <linux-kernel@xxxxxxxxxxxxxxx> > Subject: Re: [PATCH v3 3/4] x86/efi: print size in binary units in > efi_print_memmap > > On Mon, Jan 25, 2016 at 9:45 PM, James Bottomley > <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 2016-01-25 at 21:28 +0200, Andy Shevchenko wrote: > >> On Mon, Jan 25, 2016 at 8:56 PM, James Bottomley > >> <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > >> > On Mon, 2016-01-25 at 18:02 +0000, Elliott, Robert (Persistent > >> > Memory) > >> > wrote: > >> > >> > Using ffs leads to precision runaway > >> > >> How exactly?! > > > > Off by one. A size of 0xffffffffffffffff prints 18446744073709551615 B > > rather than 20 GiB. > > Because it's not a 20 GiB. It's exactly 20 GiB - 1 B. > > AFAIU, the intention was to show _exact_ size. For the UEFI memory map, that was indeed my intention. I don't want it silently round to "20 GiB". Even rounding to "19.999 GiB" is imprecise. Another option could be to use a "~" prefix for imperfect values, like "~20 GiB". That would serve as a warning that something's not quite right. ��.n��������+%������w��{.n�����{����*jg��������ݢj����G�������j:+v���w�m������w�������h�����٥