--- Robert Elliott, HPE Persistent Memory
> -----Original Message----- > From: Andy Shevchenko [mailto:andy.shevche...@gmail.com] > Sent: Monday, January 25, 2016 2:01 PM > To: James Bottomley <james.bottom...@hansenpartnership.com> > Cc: Elliott, Robert (Persistent Memory) <elli...@hpe.com>; Andy Shevchenko > <andriy.shevche...@linux.intel.com>; Matt Fleming > <m...@codeblueprint.co.uk>; Thomas Gleixner <t...@linutronix.de>; Ingo > Molnar <mi...@redhat.com>; H . Peter Anvin <h...@zytor.com>; linux- > e...@vger.kernel.org; Rasmus Villemoes <li...@rasmusvillemoes.dk>; Andrew > Morton <a...@linux-foundation.org>; linux-kernel @ vger . kernel . org > <linux-kernel@vger.kernel.org> > 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.bottom...@hansenpartnership.com> 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.bottom...@hansenpartnership.com> 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.