Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751520AbbLUQQe (ORCPT ); Mon, 21 Dec 2015 11:16:34 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37551 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751263AbbLUQQc (ORCPT ); Mon, 21 Dec 2015 11:16:32 -0500 Date: Mon, 21 Dec 2015 16:16:29 +0000 From: Matt Fleming To: Robert Elliott Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Message-ID: <20151221161629.GG4227@codeblueprint.co.uk> References: <1450402114-3606-1-git-send-email-elliott@hpe.com> <1450402114-3606-5-git-send-email-elliott@hpe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1450402114-3606-5-git-send-email-elliott@hpe.com> User-Agent: Mutt/1.5.24+41 (02bc14ed1569) (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2351 Lines: 59 On Thu, 17 Dec, at 07:28:34PM, Robert Elliott wrote: > Print the base address for each range in decimal alongside the size. > Use a "(size @ base)" format similar to the fake_memmap kernel parameter. > > Print the range and base in the best-fit B, KiB, MiB, etc. units rather > than always MiB. This avoids rounding, which can be misleading. > > Use proper IEC binary units (KiB, MiB, etc.) rather than misuse SI > decimal units (KB, MB, etc.). > > old: > efi: mem61: [Persistent Memory | | | | | | | |WB|WT|WC|UC] range=[0x0000000880000000-0x0000000c7fffffff) (16384MB) > > new: > efi: mem61: [Persistent Memory | | | | | | | |WB|WT|WC|UC] range=[0x0000000880000000-0x0000000c7fffffff] (16 GiB @ 34 GiB) > > Signed-off-by: Robert Elliott > --- > arch/x86/platform/efi/efi.c | 27 ++++++++++++++++++++++++--- > 1 file changed, 24 insertions(+), 3 deletions(-) I'm not at all sure of the value of printing the physical address as a size. I would have thought that you'd have to convert it back to an address whenever you wanted to use it anyway. > diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c > index 635a955..030ba91 100644 > --- a/arch/x86/platform/efi/efi.c > +++ b/arch/x86/platform/efi/efi.c > @@ -222,6 +222,25 @@ int __init efi_memblock_x86_reserve_range(void) > return 0; > } > > +char * __init efi_size_format(char *buf, size_t size, u64 bytes) > +{ > + if (!bytes || (bytes & 0x3ff)) > + snprintf(buf, size, "%llu B", bytes); > + else if (bytes & 0xfffff) > + snprintf(buf, size, "%llu KiB", bytes >> 10); > + else if (bytes & 0x3fffffff) > + snprintf(buf, size, "%llu MiB", bytes >> 20); > + else if (bytes & 0xffffffffff) > + snprintf(buf, size, "%llu GiB", bytes >> 30); > + else if (bytes & 0x3ffffffffffff) > + snprintf(buf, size, "%llu TiB", bytes >> 40); > + else if (bytes & 0xfffffffffffffff) > + snprintf(buf, size, "%llu PiB", bytes >> 50); > + else > + snprintf(buf, size, "%llu EiB", bytes >> 60); > + return buf; > +} > + Can we use string_get_size() instead of rolling our own function? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/