[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1453572775.2470.56.camel@HansenPartnership.com>
Date: Sat, 23 Jan 2016 10:12:55 -0800
From: James Bottomley <James.Bottomley@...senPartnership.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Matt Fleming <matt@...eblueprint.co.uk>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H . Peter Anvin" <hpa@...or.com>, linux-efi@...r.kernel.org,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Andrew Morton <akpm@...ux-foundation.org>,
"linux-kernel @ vger . kernel . org" <linux-kernel@...r.kernel.org>,
Robert Elliott <elliott@....com>
Subject: Re: [PATCH v3 3/4] x86/efi: print size in binary units in
efi_print_memmap
On Sat, 2016-01-23 at 19:18 +0200, Andy Shevchenko wrote:
> On Sat, Jan 23, 2016 at 6:44 PM, James Bottomley
> <James.Bottomley@...senpartnership.com> wrote:
> > Not an attack on you patch per-se, but I really hate the IEC
> > convention
> > that was essentially a ploy by disk manufacturers to inflate their
> > disk
> > sizes by 10% simply by relabelling them.
>
> > Everyone was happy when a GB was 2^30,
>
> No, not everyone. It was a misspelling done by some first storage
> producer.
No, it was the adopted convention in computer science to use units in
2^10 since all sizes were usually binary. It actually began with
memory sizes. So a GB never meant 10^9 bytes before 2007 because the
classical unit users had no idea what a byte was. The first bytes were
counted in powers of 2.
> Try to look at the problem from physics point of view. Units
> are essential part of a value. There is an agreement how to use
> multipliers and their code names. 1000 x Unit means kiloUnit. As per
> agreement.
It's not about physics (and certainly astronomers, who often take pi to
be 1 would be happy with 2^10 = 10^3) it's about politics: disk
manufacturers wanted a way to report bigger sizes, so they made a huge
fuss about the "inconsistency" of computer science using units in
increments of 2^10 and forced through this IEC standard.
> > now everyone's simply confused whenever they see GB. We had
> > to pander to this in block devices because people got annoyed when
> > we reported a size that was different from the label but are you
> > sure we have to extend the madness to memory?
>
> I actually don't know who is from us is being more conservative. I
> could call a madness to mess things from ancient (classical
> mathematics and physics) with something which has less than hundred
> years in development.
In engineering terms, counting in powers of 2 makes a lot of sense for
quantites using binary address busses and the IEC even recognised that
by inventing a new unit for it. Having GB mean 2^30 up to 2007 and
10^9 after it is confusing for everyone born before about 1990.
James
Powered by blists - more mailing lists